View Full Version : سوال: چگونگی برقراری ارتباط های همزمان به پایگاه داده SQL
rkhabbazi
سه شنبه 22 تیر 1389, 10:54 صبح
سلام دوستان عزیز برنامه نویس:قلب:
خواستم بپرسم که چطور می شود دو ارتباط همزمان به پایگاه داده های SQLو Excel داشت بطوری که برروی هم تاثیر نگذارند؟:افسرده:
توضیح اینکه، وقتی به پایگاه داده SQL از طریق Adoconnection وصل هستم، اگر در فرم دیگری به همین جزء Ado اگر به یک فایل Excel وصل شوم، برای جزء ارتباطی با SQL مشکل ایجاد می کند. بطوری که دیگر نمی توانم پایگاه داده مربوط به آنرا بوسیله Stored Procedures اصطلاحا Detach کنم و پیغام خطای آن می گوید که هنوز پایگاه داده SQL در حال استفاده است. نکته مهم اینست که اگر از جزء Ado که برای ارتباط با فایل Excel گذاشته ام در برنامه استفاده نکنم، مشکلی در Detach کردن پایگاه داده ی Sql پیش نمی آید.
لطفا مرا راهنمایی کنید.:متفکر: با تشکر از همه:چشمک:
pezhvakco
سه شنبه 22 تیر 1389, 13:33 عصر
درود :
درست نفهمیدم چی نوشتی ؟
ولی برای هر ارتباط از یک رابط ارتباطی مجزا استفاده کن . یعنی برای SQL از یک Adoconnection و برای Excel از Adoconnection دیگر .
در این صورت هیچ گونه مشکلی پیش نمی یاد .
فکر خوش .
rkhabbazi
چهارشنبه 23 تیر 1389, 08:57 صبح
سلام پژواک عزیز
ممنونم از راهنمایی شما
اما من هم همین کار را می کنم ولی نکته دیگری که دیروز متوجه شدم این بود که وقتی با Ado به SQL متصل می شویم، با متد Close یا تنظیم خاصیت Connected بر روی مقدار False، درواقع خط ارتباطی ما با سرویس دهنده SQL قطع نمی شود. این را از جایی فهمیدم که از متد Close و خاصیت Connected استفاده کردم اما هنگامی که در سرویس دهنده SQL روی بانک اطلاعاتی کلیک راست زده و گزینه Detach را انتخاب می کنم، پنجره Detach تعداد ارتباط هایی را که هنوز برقرار است را نشان می دهد. مگر اینکه ADOConnection را با متد Free فراخوانی کنم و یا اینکه برنامه ی در حال اجرا را ببندم. در اینصورت است که تعداد ارتباط های برقرار شده با پایگاه داده را صفر نشان می دهد و اینجاست که پایگاه داده برای Detach شدن، آماده می شود.
اگر می توانید، منو راهنمایی کنید. متشکرم از همه دوستان برنامه نویس.
pezhvakco
چهارشنبه 23 تیر 1389, 10:11 صبح
چرا می خوای پایگاه داده رو در هنگام اجرا بودن برنامه Detach کنی ؟
فکر خوش .
shpegah
چهارشنبه 23 تیر 1389, 10:34 صبح
اما من هم همین کار را می کنم ولی نکته دیگری که دیروز متوجه شدم این بود که وقتی با Ado به SQL متصل می شویم، با متد Close یا تنظیم خاصیت Connected بر روی مقدار False، درواقع خط ارتباطی ما با سرویس دهنده SQL قطع نمی شود.
دوست عزيز من هم قبلا باچنين مشكل مشابهي برخورد داشتم ولي كاري كه كردم اين بود:از ابتدا كه در حالت ديزاين برنامه بودم Canection را در حالت False قرار دادم سپس داخل برنامه آن را True ودر موقع نياز False كردم مشكلم حل شد ميخواهي اين راه راامتحان كني؟
rkhabbazi
چهارشنبه 23 تیر 1389, 10:44 صبح
:خجالت:سلام مجدد
اول در پاسخ آقای پژواک میگم که من در نرم افزارم می خواهم هنگامی که کاربر نرم افزار را قفل می کند، یعنی می خواهد به صفحه LogIn برگردد تا پایگاه داده دیگری را انتخاب کند، مجبورم با استفاده از پروسیجر های ذخیره شده آنرا Detach کنم.:چشمک:
در پاسخ به دوست دیگر هم باید بگویم که منم مانند شما در داخل خود نرم افزار و بعد از اجرا شدن، رشته اتصالی را مقدار دهی کرده و خاصیت Connected را True می کنم اما هنگام قطع ارتباط با پایگاه داده، نه متد Close و نه تنظیم خاصیت Connected روی مقدار False ، جواب نمی دهد. ممنون از همه شما که برای پاسخ وقت گذاشتید.:خجالت:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.