PDA

View Full Version : PLAY,PAUSE کردن SQL از طریق VB



HAMI
جمعه 04 دی 1383, 18:13 عصر
اگه کسی راه حلی داره لطفا منو راه نمایی کنه
متشکر

hmm
شنبه 05 دی 1383, 07:13 صبح
از طریق توابع api میتونی سرویسها رو کنترل کنی
اگه هم نمیخوای که خودتو درگیر این جو مسائل کنی از دستور net start و net stop استفاده کن
ولی هردو مورد شاید در کامپیوتر های مختلف اجرا نشه
به عبارت دیگر شاید شما مجوز اجرا یا توقف سرویس رو نداشته باشی

MM_Mofidi
شنبه 05 دی 1383, 11:00 صبح
WMI

Behrouz_Rad
یک شنبه 06 دی 1383, 08:10 صبح
از تمامی دوستان عذر می خوام ولی هیچ کدام از راه های فوق، راه استاندارد نیست.
برای اینکه بتوانید با SQL Server کار کنید و بیرون از آن، آن را به کنترل خود در آورید، باید از SQL DMO استفاده کنید.
متدها و خواص SQL DMO در فایل sqlole.dll قرار دارند و شامل Properties ها و متدهایی هستند که می توان اعمال مرتبط به SQL Server را (TASK) با این دستورات به راحتی از طریق زبان برنامه نویسی مورد نظر انجام داد.
اعمالی همانند ایجاد بانک اطلاعاتی، جدول، Stored Procedure ها یا همون اعمالی که دوستمون می خوان مثال: Pause و Stop و ....
جهت انجام اعمال Pause و Stop در SQL Server، به طریقه ی زیر عمل کنید:
در قسمت References، گزینه ی Microsoft SQLDMO Object Library را انتخاب و به برنامه ی خود اضافه کنید.
تنها کار مورد نیاز، تعریف یک متغیر از نوع SQL Server است و اتصال به سرور مورد نظر با Pass دادن نام سرور و نام کاربری و کلمه ی عبور است.


Dim MySQLServer As New SQLDMO.SQLServer
MySQLServer.Connect "BEHROUZ", "sa", "MyPassword"

حال برای عمل Pause از دستور MySQLServer.Pause و برای عمل Stop از دستور MySQLServer.Stop استفاده کنید.

موفق باشید.
بهروز راد
:wise1:

HAMI
یک شنبه 06 دی 1383, 20:43 عصر
با سلام و تشکر از دوستانی که من را راهنمایی کردند.
چون مشکل من حاد و فوری بود از روشی که کاربر طلایی آقای hmm گفته بودند استفاده کردم و نتیجه گرفتم .
شکل دستوراتی که بنده استفاده کردم بدین صورت بود.
"shell "net [stop] mssqlserver
البته باید اشاره کرد که از دستور net در win98 نمی توان استفاده کرد.
توضیه می کنم راه های دیگر نیز تست شود .
در پایان تشکر وی÷ه ای از آقای hmm می کنم . :thnx:

Behrouz_Rad
دوشنبه 07 دی 1383, 08:34 صبح
سلام.
خود دانی ولی این راهش نیست.
اگر مجوز نداشته باشی چی؟؟؟
من به زودی توی یک تاپیک جدا، در مورد SQL-DMO که 99 درصد برنامه نویسای دیتابیس در مورد اون اطلاعی ندارند، توضیح میدم.

موفق باشید.
بهروز راد
:wise1:

hmm
دوشنبه 07 دی 1383, 09:51 صبح
در پایان تشکر وی÷ه ای از آقای hmm می کنم
شما لطف دارید ولی روش استاندارد همونیه که دوستمون Behrouz_Rad گفتند ولی راه حلی که شما استفاده کردید یکم راحت تره

اگر مجوز نداشته باشی چی؟؟؟
دوست گرامی اگه مجوز stop سرویس مربوطه رو نداشته باشی از طریق dmo هم نمیتونید stop کنید.
ولی استفاده از dmo انعطاف پذیری زیادی داره و من هم استفاده از اونرو توصیه میکنم

Behrouz_Rad
دوشنبه 07 دی 1383, 10:10 صبح
دوست گرامی اگه مجوز stop سرویس مربوطه رو نداشته باشی از طریق dmo هم نمیتونید stop کنید.

خوب آقای hmm خوبیش اینه که حداقل می تونی داشتن یا نداشتن مجوز رو با SQL DMO چک کنی.
:wise1: