من رو xpنصب کرده بودم
سلام
چون بحث شبكه و SQL هست يه سوال دارم. من يه ديتابيس در مسير برنامه خودم در SQL Server 2000 ساختم. اسمش مثلاً Root_Database هست. خوب.توش يه Table هم ساختم. البته فرض بر اينه كه همه اينا روي كامپيوتر سروره. سوالم اينكه حالا Claient ها فقط كافيه كه به سرور و ديتابيس Root_Database وصل بشن؟ ديگه مسير Table رو نمي خوان؟
سوال دوم: يه بار با Farhad جان بحث وضعيت ركورد مطرح شد كه بحث تقريباً بي نتيجه موند البته اين بحث در تاپيك درخواست آموزش: دلفي تحت شبكه (بانك اطلاعاتي) انجام شده بود. به هر حال. البته اين مسئله رو ابتدا Farhad جان مطرح كردن كه حتماً حتماً دوستان بايد بهش توجه كنن. مسئه مهم (وضعيت ركورده). اينكه بفهميم چجوري يه ركورد در يك زمان مورد استفاده و تغيير دو نفر قرار بگيره. در واقع چجوري ميشه وقتي يه ركورد در حالت Edit هست، اون رو قفل كنيم تا كس ديگه اي همزمان اون رو تغيير نده؟
موفق باشين
باي
احتیاجی به مسیر نیست
در مورد دومی
شما با دلفی کار میکنید مثلا کامپوننت adoquery این امکان رو به شما میده که بتونی رکورد جاری رو قفل کنی ولی مشکلش اینه که سرعت رو کند میکنه و مشکلات جانبی خودشو داره.یا از طریق خود sql که اونهم باز اگه تعداد قفلها زیاد باشه یا یک قفل زمان زیادی نگه داری بشه باعث کند شدن sql میشه. که کارایی رو میاره پایین هم میتونی یک فیلد بیت در جدول اضافه کنی و هر وقت که مقدارش یک بود اجازه کاری به کس دیگه ایی روی اون رکورد ندی
Last edited by ghoghnoose_dana; 16-01-2008 at 19:41.
همونطور که دوستمون هم گفت نیازی به مسیر نیست چون با یکailias از سیستم سرور کار میکنیم که مسیر بانک رو برای ما برمی گردونهسوالم اينكه حالا Claient ها فقط كافيه كه به سرور و ديتابيس Root_Database وصل بشن؟ ديگه مسير Table رو نمي خوان؟
همون موقع هم عرض کردم که یکی از مهمترین بحث ها هست اما feedback خوبی بین دوستان نداشت و نیمه کاره رهاش کردمالبته اين مسئله رو ابتدا Farhad جان مطرح كردن كه حتماً حتماً دوستان بايد بهش توجه كنن
دقیقا. بحثیه که در مورد lock type در همون تاپیک مطرح کردمadoquery این امکان رو به شما میده که بتونی رکورد جاری رو قفل کنی
توضیح بیشتر؟هم میتونی یک فیلد بیت در جدول اضافه کنی و هر وقت که مقدارش یک بود اجازه کاری به کس دیگه ایی روی اون رکورد ندی
یه فیلد از نوع boolean وقتی با رکوردی کارداری این فیلد چک میشه اگه 0 بود اجازه استفاده از اون رکورد به کاربر داده میشه و مقدارش 1 میشه واگه 1 بود یعنی اون رکورد در حال استفادست صبر میکنه تا مقدارش 0 بشه(اینم یه روشیه)
هیچ فکر کردید که در حین کار سیستم هنگ کنه یا برنامه در حالت طبیعی پایان داده نشه؟ و مقدار فیلد برای همیشه 1 بمونه ...
چرا اونو هم میشه باارتباط کاربر چک کرداگه تغییر ظرف مدتی خاص انجام نشد یاسشن کاربر مورد نظر قطع شد یا راه اندازی مجدد سیستم خودکار به حالت 0 دربیاد
احتمالا اين كاري كه ميگيد با استفاده از تايمر انجام ميشه كه سر بار اضافي زيادي براي سيستم ايجاد ميكنه.
روش هاي ديگر:
- استفاده از transaction ها ado براي ديتابيسهاي با تعداد جداول كم
- برنامه نويسي 3-لايه
من می خوام sql server یاد بگیرم دوستان چه کتابی رو به من پیشنهاد می کنند آیا کتابی هست
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)