چند نفر همزمان می توانند با یک برنامه کار کنند ؟
چند نفر همزمان می توانند با یک برنامه کار کنند ؟
چرا . میشه . فقط کافیست براش USER تعیین کنی .
من برنامه ای می خوام بنویسم که چند نفر با هم می خواهند با اون کار کنند یعنی ورود اطلاعات یا ویرایش و ......
لطفا اگر میشه بیشتر توضیح بدین ؟؟؟؟
منظورتون از طریق Security ؟فقط کافیست براش USER تعیین کنی .
بله می شه . حالا باید بگید که می خواهید تحت SERVER لن (LAN) باشه یا نه ؟
اگر منظورتون تحت شبکه است :
1 - اول باید در سرور user های مورد نظر را تعریف کرد .
2 - باید در کامپیوتر های Client یک Shortcut از Database درون سرور گرفت و از اون استفاده کرد .
3 - باید دیگه user بهش وصل شه .
4 - ....
* -> البته با راه های دیگه هم میشه . این آسانتر و بهتره !!!!
موفق باشید .
بای
میشه فایل access رو در شبکه محلی share کرد و توسط آدرس دهی شبکه ای (computername\file's address\\)در برنامه به دیتا بیس اکسس دسترسی داشت ولی قائدتا نباید امکان دسترسی همزمان جهت تغییر یک table را به دو نفر بدهد چون چنین قابلیتی برای اکسس تعریف نشده .
بعد از اینکه یه نفر یهAccess DB رو باز کنه ، اون فایل Lock می شه و شخص بعدی اون فایل رو Read-Only می بینه ! :sunglass:
پس در اینصورت نمیشه :(
چون امکان ویرایش توسط چند نفر وجود نداره :sad2:
ممنونم از راهنماییتون :cry:
سلام
من این کار رو امتحان کردم امکان ندارهبعد از اینکه یه نفر یهAccess DB رو باز کنه ، اون فایل Lock می شه و شخص بعدی اون فایل رو Read-Only می بینه !
snmnightbat عزیز
اومدی و نسازیا :mad:
بالاخره چی امکان داره چی امکان نداره !!!!!!!
من که گیج شدم
این رو از Help برنامه Access برداشتم:
In a multiuser environment, more than one person might be working with the same records at the same time. Since other people can change or even delete the same data you're trying to edit, you might occasionally conflict with others as they work.
Microsoft Access helps you keep track of the status of records as you edit them, and makes sure you're using the latest data. When two or more people try to edit the same record, Microsoft Access displays messages that help you resolve conflicts. For example, if you try to save a record that another user has locked, Microsoft Access displays the name of the person who locked that record.
To help you keep track of the status of records, Microsoft Access displays symbols in the current record selector.
اینم در جواب دوست عزیزمان
Share a database (MDB)
Note The information in this topic applies only to a Microsoft Access database (.mdb).
To access the shared Microsoft Access database from another computer, you must have one of following on the other computer: a local installation of Access, a network installation of Access (licensed on a per-user basis), or a run-time application.
Set up a shared folder.
For information about sharing folders, use the Microsoft Windows Help Index. If the shared folder is on a network server, you might need assistance from your network administrator.
Copy the Microsoft Access database to the shared folder.
Make sure the Access database is set to open in shared mode, which is the default setting.
How?
On the Tools menu, click Options.
On the Advanced tab, under Default open mode, click Shared.
Note Before you share the database, you should remove any personal information that may be stored in the file. See Remove personal information from an Access file or page for more information.
:wink:
نه آقا نا امید نشو
در اکسس اگر یوزر رو تعریف کنی و هر کدوم با یوزر خودشنون کار کنن مشکلی ÷یش نمیاد وللی اگه یکی با ادمین وارد بشه قفل میشه
بالاخره حرف کی درسته ؟ :sad2: :sorry:
سلام به همه
من قبلا با اکسس تحت شبکه کار می کردم و بعضی از برنامه ها تا 15 کاربر نیز داشته اند که همگی روی یک Table کار می کردند و تنها مشکلم سرعت پایین بود و هیچ مشکل دیگری نداشتم .
برای رفع مشکل سرعت به فایلهای ADP اکسس که پایگاه داده را به SQLserver منتقل می کند روی آوردم و الان دیگر با سرعت بسیار خوبی کار می کند با آنکه تعداد کاربران از 40 نفر روی بعضی از برنامه ها فراتر رفته .
دیدی آقای snmnightbat عزیز
اینم از جواب رفقیمون سنبله کار عزیز
:) :wink:
اینقدر شاپرک رو اینبر و اونبر فرستادی که فکر می کنم تابحال به عقاب تبدیل شده باشه :oops: :wink:
با اکسس در شبکه میشه کار کرد ولی امکانات امنیتی که برای یک سیستم که باید در شبکه کار کند برای اکسس وجود ندارد مشکل بزرک در کار کردن اکسس در شبکه وجود دارد این است که شما بعد از sharing فایلتان در سرور جهت استفاده باید فایل را در حالت فول کنترل در اختیار کاربرانتان قرار دهید در غیر این صورت امکان کار کردن وجود نخواهد داشت ولی بقیه امکانات معمولی در استفاده همزمان وجود داره با این شرط که کاربرها در اکسس در قسمت تولز اکانت یوزر اند گروپ تعریف شوند و امکانات ادمین رو نداشته باشند.
توجه کنید که اگر کسی با یوزر ادمین برای دفعه اول وارد شود دیگر کاربران امکان ورود به اکسس را نخواهند یافت
از لطف hrh عزیز ممنون :flower:
در مورد مسائل امنیتی مورد اشاره نوروزی عزیز باید عرض کنم که نیازی به فول کنترل نیست و کاربران با سه دسترسی زیر می توانند کار کنند :
1 - Read & Execute
2- Read
3- Write
در این حالت خطر پاک شدن فایل توسط کاربر مرتفع می شود .
و با تعریف یوزر داخل اکسس مسائل امنیتی دیگر از قبیل حذف و اضافه کردن رکوردها و دسترسی به فرمها و گزارشها حل می شود .
اما با تمام این اوصاف مطمئن ترین راه استفاده از فایلهای ADP اکسس و بهره گیری از خدمات امنیتی SQLserver می باشد .
Access یکی از قدرتمندترین سطوح امنیت رو در اختیار کاربرانش قرار میده که از اون به عنوان user level security اسم برده میشه این حالت کاملا متفاوت با set Database password در Access هستش اما تفاوت های این دو در چیست؟
در Set DataBase Password فقط یک User بنام Adminوجود داره که تمام قدرت بانک اطلاعاتی در دست اوست.پس هرکسی که Password این User رو پیدا کنه اختیار کامل بانک اطلاعاتی رو داره.
درUser Level Security هشت سطح دسترسی وجود داره که عبارتند از:
1-Backup Operators
2-Full Data Users
3-Full Permissions
4-New Data Users
5-Project Designers
6-Read Only Users
7-Update Data Users
8-Admins
شاید بهتر بود این هشت سطح دسترسی رو تعبیر میکردیم به هشت گروه با سطح دسترسی تعریف شده مختص اون گروه اما ویژگی این گروه ها چیست؟
گروه اول- این کاربران فقط مجاز هستند از بانک اطلاعاتی فایل پشتیبان تهیه کنند یا بانک اطلاعاتی رو فشردهCompactکنند اما هیچ دسترسی به هیچ Object توی Access ندارند یعنی نه میتوانند اطلاعات را ببیند و نه میتوانند در طراحی جداول - فرمها
گزارشات والی آخر تغییری ایجاد نمایند
گروه2-این گروه میتوانند هرگونه تغییری در اطلاعات اعم از ورود اطلاعات-حذف اطلاعات و تغییر دادن اون انجام بدن اما مجوزی برای تغییر در طراحی اشیاء بانک اطلاعاتی ندارند
گروه سوم-این گروه اختیار کامل بانک اطلاعاتی رو چه به جهت تغییر-اضافه-حذف اطلاعات رو داره به اضافه اینکه میتونه در طراحی اشیا در بانک اطلاعاتی دست ببره و یا اشیا جدید ایجاد کنه ولی فقط فاقد یه چیزه و اونم اینه که نمیتونه مجوز سایر کاربران بانک رو تغییر بده یا کاربر جدید ایجاد کنه یا یه کاربرو حذف کنه
گروه چهار- این گروه فقط اجازه داره به بانک رکورد های جدید اضافه کنه و بمحض اینکه یه رکورد اضافه کرده دیگه اجازه نداره اونه ویرایش یه حذف کنه یعنی کارش فقط Data Entry هستش
گروه پنجم-این گروه میتونه در طراحی اشیا درون بانک تغییرات ایجاد کنه یا اینکه اشیا جدید بسازه اما اجازه ویرایش-حذف و ورود رکورد رو نداره
گروه ششم-این گروه فقط میتونه اطلاعات رو ببینه یعنی نه قدرت ویرایش-حذف و اضافه رکورد ها رو نداره بلکه حتی نمیتونه در طراحی اشیا و یا یا ایجاد اشیائ جدید توانا باشه
گروه هفتم- این گروه فقط میتونه رکوردهای از قبل وارد شده رو تغییر بده اما توانایی حذف یا اضافه کردن رکورد ها رو نداره و همچنین نمیتونه در ایجاد و یا تغییر اشیا بانک اطلاعاتی شرکت کنه
و اما گروه هشتم که بالاترین سطح قدرت رو توی این هشت گروه داره اما ویژگی این گروه چیه ؟ برای درک آسونش تصور کنید که این همون گروه سه هست به اضافه اینکه میتونه کاربران سیستم رو مدیریت کنه یعنی کاربر جدید حذف کنه -اضافه کنه و یا حتی در حقوق دسترسی کاربران تغییر ایجاد کنه یعنی یه کاربرو از یه گروه به گروه دیگه منتقل کنه باید توجه داشت توی این سیستم امنیتی یه کاربر میتونه عضو یک یا چند گروه باشه مثلا یه کاربر هم عضو گروه 2 باشه و هم گروه 5(حالا خودتون فکر کنید این کاربر دارای چه توانایی های میتونه باشه)
با تشکر از همه دوستانی که اظهار نظر کردند . :) خیلی خوب و مفید بود . :wink: :flower:
من برنامه ام رو روی سرور share کردم اما از روی کامپیوتر خودم نمی تونم بازش کنم این error رو میده :
راه داره عزیز یه سر به این وبلاگ بزن تا بدونی چطوری
www.sarami.blogfa.com
(ببخشید که من اینو آوردم بالا)
پس با توضیحاتی که داده شد:
1. میتونیم برای یک بانک اکسس تو سرور یوزرهارو تعریف کرد ( 8 لول) و کلاینتها با کانکشنهای مخصوص خودشون وصل بشوند.
2. بانک اکسس این قدرتو داره که اگه همزمان یک کاربر مشغول ویرایش بشه و یک کاربر رکورد حذف کنه - جلوی اینکارو بگیره و کنترل (با تشخیص خودش یا برنامه نویسی) به یکی از این دو بده و مانع کرش سیستم بشه.
3. بانک اکسس هیچ جدولی رو قفل نمیکنه مگه اینکه یوزر ادمین وارد شده باشه.
(آیا با کدنویسی نمیشه یک جدول رو قفل کرد که خارج از سیستم حتی نمایش داده نشه؟! )
4. استفاده از اکسس پروجکت به دلیل اینکه واسطی بین سیستم و sql server هست مشکلات موارد 2و 3 رو نخواهد داشت و کنترل به sql داده میشه.
5. اکسس پروجکت به دلیل کار با sql server سرعت خیلی خوبی نسبت به mdb در سیستمهای شبکه (چند کاربره) داره
6. در اکسس پروجکت sql server فقط در سرور نصب میشه و کلاینتها با کانکشن oledb به بانک متصل میشوند. (فکر کنم این تنها مزیت استفاده از access project بجای sql server باشه!)
اگه میشه اساتید نتیجه گیریهای منو تایید و یا رد کنند (و توضیح بیشتری اگه بود ممنون میشم)
آخرین ویرایش به وسیله once4ever : پنج شنبه 25 اسفند 1384 در 00:45 صبح
به نظر من کسانیکه به در جه استادی رسیدند با فحش دادن به این در جه نرسیدند !!!نوشته شده توسط once4ever
اگه نمینوشتی هم هیچی نمیشد!نوشته شده توسط kamran kamrani
بچه ها کسی نظری نداره؟!
دوست عزیز اظهارات شما نشانه کنجاوی و نیاز به مطالب که عنوان کرده اید می باشد
ولی متاسفانه چون اکسس پروجکت ناشناخته است کمتر کسی میتونه دربار ان اظهار نظر کنه فکر میکنم شما باید با اقای صارمی که وبلاگ مخصوص ان را دارد در تماس باشید
موارد 1و 2 چی؟ مربوط به access project نیست.
البته خیلی ممنون که اگه اطلاعات قطعی ندارید چیزی نمیگید.
متشکرم
من چند سالی هست که با اکسس پروجکت کار می کنم
و همیشه به دوستانم توصیه کردم حتی برای یک سیستم تک کاربره هم ADP بهتر است
البته ناگفته نماند برای توسعه هر نرم افزار باید به مسائل بسیاری توجه داشت که ADP بخشی از آنها را به بهترین روش حل کرده.
شما از بابت Backup , Restore , Replicate , ... راحتید اما اگر بخواهید کاربران برنامه را داخل ADPمدیریت کنید و پس از فروش سیستم امکانات آن را به خریدار بسپارید کمی ابتکار لازم دارد .
همچنین برای قفل نرم افزار نیز باید فکری بکنید .
علاوه بر موارد 1 و 2 مورد 3 هم مربوط به اکسس پروجکت نیست .
ضمنا اکسس پروجکت را بجای SQLSERVER بکار نمی گیریم بلکه در کنار آن قرار میدهیم .
شاید من منظورمو خوب نگفتم. میخوام ببینم نتیجه گیریهام درست هستند یا نه!
خوب فکر کنم درست باشند بعد ازاینهمه وقت .
(مورد 3 ندیده بودم ;) )
یعنی موارد 1و2و3 کاملا درست هستند؟
میدونم بجای sqlserver بکا نمیبرند و درواقع واسطی بین برنامه و sqlserver هست.
شما که با پروجکت کار کردید - شماره 6 درست هست؟ یعنی دیگه نیاز نیست همه client ها sqlserver داشته باشند. ( منظورم سیستمهای شبکه هست که روی هرکلاینت application نصب میشه)
من با C#.net کارمیکنم
وقتی یک بانک access صدازده میشه خودبهخود lock میشه یا اینکه باید با برنامه نویسی اینکارو کرد؟
ممنون
بله من اشکالی در نتیجه گیریهای شما نمی بینم
شماره 6 هم کاملا درست است شما نیازی به نصب sqlserver روی کلاینتها ندارید و فقط server باید آنرا داشته باشد .
اینجا مسئله تغییر کرد در اکسس پروجکت دیگر بانک اکسس در کار نیست و باید به عنوان یک Application client/server به آن نگاه کنیم .
اگر در C#.net به اطلاعات نیاز دارید مستقیما سراغ SQLserver بروید فکر نمی کنم در این حالت اکسس پروجکت به شما کمکی کند ( البته من آزمایش نکردم )
و اگر به فرمها و ریپورتها و ... نیاز دارید که دیگر فرقی بین اکسس و اکسس پروجکت نیست .
با سلام خدمت دوستان از اینکه بعد از مدتی میبینم که واژه access project دیگه مثل اوایل مطرح شدنش تو این فروم واژه بیگانه ای نیست بسیار خوشحالم .در مورد access project باید این نکته رو عنوان کنم که access project تو لایه دیتا بیس کار نمیکنه و برنامه هایی که بوسیله اون نوشته میشه سرور ساید هستش بدین معنی که access project تنها واسط بین کاربر و بانک هستش و وظیفه نگهداری و گسترش database رو به sql server محول کرده و باعث شده شما با همون سرعت access فزمها و گزارشاتتون رو تو محیط اکسس بسازین و قدرت سرعت و امنیت به همراه امکانات sql server رو هم در کنارتون داشته باشین توصیه من به دوستان اینه که اگه میخوان به این سمت برن بهتره کمی هم با مفاهیم شبکه و برنامه نویسی سرور ساید آشنا بشن
منی که نام شراب از کتاب می شستم
زمانه کاتب دکان می فروشم کرد.
آقای صارمی سلام با تشکر از ارائه نظر لطفا در مورد C#.net که در سوال ایشان مطرح شده هم نظر بدهید