pi_plusplus
دوشنبه 19 فروردین 1387, 12:26 عصر
با سلام.
من می خوام توی برنامه VB.6 مثلا" اطلاعات یکی از جدولهای نسبتا" بزرگ بانک SQL رو Delete کنم اما با وجود اینکه دستور ساده Delete در محیط Query Analyzer به راحتی اجرا می شود، این دستور در برنامه پس از گذشت مدت زمانی از اجرای آن با پیغام خطای Time Out مواجه می شود.
می خواستم بدونم چطور میشه دستورات طولانی و یک مرحله ای SQL مثل این رو در محیط VB اجرا کرد؟ حتی دستور را در SP نوشتم و در برنامه فراخوانی کردم باز هم فایده ای نداشت. فکر می کنم مشکل از این باشد که هنگام اجرای این دستور برنامه هیچ کار دیگری نمی کند، اگر اینطور است چطور می شود برنامه را در حال اجرای یک دستور یک مرحله ای مشغول نگه داشت؟
من در مورد Restore کردن بانک هم مشکل مشابهی دارم. با اینکه کد های من توی Query Analyzer و از طریق بانک Master به راحتی اجرا می شوند، این دستورات وقتی در برنامه اجرا می شوند پیغام خطا می دهد.
کدی که من برای Restore استفاده کردم اینه:
Use Master
Go
alter database [Anbar] set SINGLE_USER;
SELECT filename FROM sysdatabases WHERE name = 'Anbar';
RESTORE DATABASE [Anbar] FROM DISK =@Path WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY;
alter database [Anbar] set MULTI_USER;
خواهش می کنم بگید اشکال کار کجاست؟
من می خوام توی برنامه VB.6 مثلا" اطلاعات یکی از جدولهای نسبتا" بزرگ بانک SQL رو Delete کنم اما با وجود اینکه دستور ساده Delete در محیط Query Analyzer به راحتی اجرا می شود، این دستور در برنامه پس از گذشت مدت زمانی از اجرای آن با پیغام خطای Time Out مواجه می شود.
می خواستم بدونم چطور میشه دستورات طولانی و یک مرحله ای SQL مثل این رو در محیط VB اجرا کرد؟ حتی دستور را در SP نوشتم و در برنامه فراخوانی کردم باز هم فایده ای نداشت. فکر می کنم مشکل از این باشد که هنگام اجرای این دستور برنامه هیچ کار دیگری نمی کند، اگر اینطور است چطور می شود برنامه را در حال اجرای یک دستور یک مرحله ای مشغول نگه داشت؟
من در مورد Restore کردن بانک هم مشکل مشابهی دارم. با اینکه کد های من توی Query Analyzer و از طریق بانک Master به راحتی اجرا می شوند، این دستورات وقتی در برنامه اجرا می شوند پیغام خطا می دهد.
کدی که من برای Restore استفاده کردم اینه:
Use Master
Go
alter database [Anbar] set SINGLE_USER;
SELECT filename FROM sysdatabases WHERE name = 'Anbar';
RESTORE DATABASE [Anbar] FROM DISK =@Path WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY;
alter database [Anbar] set MULTI_USER;
خواهش می کنم بگید اشکال کار کجاست؟