نمایش نتایج 1 تا 7 از 7

نام تاپیک: آپدیت داده های اکسس توسط کلاینت ها

  1. #1
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524

    آپدیت داده های اکسس توسط کلاینت ها

    سلام
    یک سلام مخصوص هم خدمت hmm
    در تاپیک قبلی بحث نصب برنامه روی سرور و کلاینت شد. من یک مشکل در این مورد دارم.
    یک فایل Exe که همون برنامه و یک فایل Access قسمت اصلی برنامه رو تشکیل دادند. حالا هر طور که اینا رو شبکه نصب شده باشند (یا میانبر از سرور به کلاینت ها و یا قرار دادن یک فایل Exe در هر کلاینت (همون که hmm میگفت)).
    وقتی در یکی از کلاینت ها یا سرور اطلاعات آپدیت میشه، یعنی رکوردی تغییرات درش انجام میدن در همان لحظه در تمام سیستمهای دیگر آپدیت (یا تغییرات جدید) مشاهده میشه. تا اینجا مشکلی نداره. ولی وقتی در یکی از سیستم ها رکورد جدیدی ایجاد میشه، تا سیستم های دیگر در شبکه از برنامه خارج و ورود مجدد نشن، نمی تونن رکورد جدید رو ببینن. (منظورم اینه که تا رکوردست در بقیه برنامه ها بسته و مجددا باز نشه و یا اینه Requery نشه نمی تونن رکورد های اضافه شده رو ببینن).
    برای همین مجبور شدم یک کلید برای بازیابی اطلاعات جدید (یا همون Refresh) در هر برنامه تعبیه کنم.
    حالا یعنی من تنظیمات رکورد ست رو اشتباه انجام میدم یا این مشکل طبیعیه.
    من از ADODB برای اتصال استفاده میکنم. بدین صورت :

    Dim r As New ADODB.Recordset
    r.CursorLocation = adUseServer
    r.Open "SELECT * FROM Table1;", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mymdb.mdb;Mode=ReadWrite;Persist Security Info=False;", adOpenStatic, adLockOptimistic


    تنظیمات بالا رو هم به هر شکل عوض کردم نتیجه نگرفتم. :(
    ضمنا شبکه بدین صورته که چند کامپیوتر با یک هاب و کابل و کارت شبکه به لینک شدن و هر کامپیوتر، کامپیوتر دیگه رو تو خودش میبینه. در واقع سروری وجود نداره.
    البته من این رو در سیستم خودم با اجرای دوبار یک برنامه هم آزمایش میکنم که همون نتیجه رو میده. (یعنی برنامه exe رو دوبار تو کامپیوترم اجرا میکنم. در نتیجه انگار دو نفر دارن باهاش کار میکنند.) به هر حال فرقی نداری تو شبکه هم همین مشکل هست.
    ممنون میشم اشکال رو بگید :)

  2. #2
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    بله این امر طبیعیه چون رکوردست یکبار پر میشه و شما نتیجه رو میبینید اگه میخواهید تغییرات رو هم مشاهده کنید باید همون طور که گفته شد رکوردست رو refresh کنید البته اگه از متد adopendynamic در بازکردن رکوردست استفاده کنید لااقل تغییرات رو بلافاصله رو همون کلانیت خودتون میتونید ببینید (نه همه کلاینتها)
    خب راه حل همونیه که عرض شد (البته اگه دوستان راه حل دیگه ای دارن رو نمیدونم)
    اگه حتما میخواهید هر لحظه اطلاعات بروز باشه میتونید با استفاده از کامپوننت timer هر چند ثانیه یکبار رکوردست رو بروز کنید البته این روش توصیه نمیشه چون هم سرعت پردازش سرور کم میشه هم ترافیک شبکه زیاد میشه هم پردازش کلاینت بالا میره ولی اگه چاره ای نیست همین کار رو انجام دهید
    درضمن این مشکل(اگه بشه اسمشو مشکل گذاشت) هیچ ربطی به چگونگی ساختار شبکه شما نداره
    موفق باشید

  3. #3
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524
    سلام

    خیلی ممنون. پس همه با این مشکل دارند.(البته اگه داشته باشند). حرف شما هم درسته اگه بخواهم مثلا هر چند ثانیه یک بار Refresh کنم ترافیک زیاد و سرعت کار کم. و مشکل اصلی که با این کار برای من پیش می آید اینه که اگر من هر چند ثانیه Refresh کنم، رکوردست میاد روی اولین رکورد که باز مجبورم با یک برنامه ببرمش روی رکوردی که قبل از refresh بوده. حالا شما فرض کن یک خورده سرعت کامپیوتر کم باشه و ترافیک شبکه بالا. اونوقته که دیگه کاربر هر چند ثانیه هی اطلاعات جلوی چشماش عوض بدر میشه.
    آخه میخوام بانک بین کلاینت ها زنده باشه.
    ظاهرا باید ساخت دیگه. :?
    البته یک راه حل پیدا کردم امیدوارم موثر باشه. :(
    از توجه شما هم ممنون. :flower:

    آقا من تا هم اکنون به غیر از اکسس با هیچ بانک دیگه ای کار نکردم. میشه یکم راجع به سایر بانک های که تو شبکه جواب خوبی میدن توضیح مختصر بدید.
    این SQL Server دقیقا چه کار میکنه. این هم یک جور بانک اطلاعاتی تحت شبکه است یا واسطه ای بین بانک ها ؟ میشه توضیح بدید که من چطور باید این رو سیستم نصب کند. یا حتما باید شبکه داشته باشم. اصلا از کجا گیر بیارمش.؟
    حالا اگه از SQL استفاده کنم بازم این مشکل بالا رو دارم یا نه؟
    آیا حتما باید ویندوز ها 2000 یا 98 باشند؟ آخه من ویندوزهای قدیمی تر از XP رو گذاشتم کنار. :wink:

  4. #4
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    :strange: برای پاسخ به این همه سوال باید برید از آقای امین ثباتی (وسایر اساتید) وقت بگیرید به شما آموزش بده
    بهتره این سوالات رو در بخش مربوطه بپرسی بهت جواب میدن(البته قبلش یه جستجو بکن چون اکثر سوالات رو قبلا جواب دادن )
    ولی مختصر بعضی ها رو که میدونم جواب میدم
    این SQL Server دقیقا چه کار میکنه. این هم یک جور بانک اطلاعاتی تحت شبکه است یا واسطه ای بین بانک ها ؟
    دقیقا بانک اطلاعاتیه ولی قوی تر و بمراتب امن تر(چه از لحاظ امنیت ارتباطی و چه از لحاظ امنیت داده ای)
    میشه توضیح بدید که من چطور باید این رو سیستم نصب کند.
    مثل سایر برنامه ها ولی قبلش یه pdf تو همین سایته در مورد نصبه حتما مطالعه کن
    حتما باید شبکه داشته باشم
    نخیر روی یک کامپیوتر تنها هم میتونید نصب کنید (البته اگه اشتباه نکنم باید کارت شبکه رو داشته باشید - این رو مطمئن نیستم لطفا اساتید بفرمایند :oops: )
    اصلا از کجا گیر بیارمش.؟
    از فروشنده نرم افزار سر خیابون :mrgreen:
    حالا اگه از SQL استفاده کنم بازم این مشکل بالا رو دارم یا نه؟
    مشکل شما ربطی به موتور دیتابیس نداره حتی اگه از اوراکل هم استفاده کنید همین مشکل رو دارید
    آیا حتما باید ویندوز ها 2000 یا 98 باشند؟
    نخیر برای تمام ویندوز های بعد از 98 جواب میده حتی خود 98 نیز هم
    آخه من ویندوزهای قدیمی تر از XP رو گذاشتم کنار.
    درود بر شما اگه از xp (و کلا نسخه های کلاینت سیستم عامل ) استفاده میکنید نمیتوانید از نسخه سروری sqlserver استفاده نمایید شما باید نسخه desktop یا personal این نرم افزار رو نصب کنید

    موفق باشید- hmm

  5. #5
    اووووووووووووووووه چه حوصله ای داری بابا :wink:

  6. #6
    کاربر دائمی آواتار کم حوصله
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    ایران - مشهد
    پست
    962
    البته اگه اشتباه نکنم باید کارت شبکه رو داشته باشید
    خیر نیازی به کارت شبکه نیست

    ضمنا شما جهت رفع مشکلتان می توانید زمانی که می خواهید جستجویی انجام دهید یا اینکه رکوردی را آپدیت نمایید عملیات رفرش کردن را همزمان انجام دهید در مواقع دیگر نیازی نیست

  7. #7
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    خیر نیازی به کارت شبکه نیست
    ممنون
    ضمنا شما جهت رفع مشکلتان می توانید زمانی که می خواهید جستجویی انجام دهید یا اینکه رکوردی را آپدیت نمایید عملیات رفرش کردن را همزمان انجام دهید در مواقع دیگر نیازی نیست
    کم حوصله جان دوستمون میخواد اطلاعات وارد / اصلاح شده توسط کاربران دیگه رو online ببینه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •