ورود

View Full Version : exe



maaryaam
شنبه 08 مرداد 1384, 17:32 عصر
سلام
من می خواهم با SQL یک Exe مانند NotePad.Exe را اجرا کنم
لطفا Xp_Cmdshell را پیشنهاد ندهید چون عمل نمی کند
از کمکتان ممنونم

AminSobati
شنبه 08 مرداد 1384, 18:58 عصر
دوست عزیزم،
برنامه ای که قصد دارین اجرا بشه نباید Interface ارائه کنه. چون xp_cmdshell روی SQL Server اجرا میشه، لذا اجرای برنامه ای مثل Notepad باعث میشه تا SQL Server صبر کنه تا زمانی که این برنامه بسته بشه. xp_cmdshell جلوی نمایش اینترفیس رو میگیره و تنها راهش اینه که از طریق Task Manager اون رو End Task کنین(روی سرور). با فرض به اینکه xp_cmdshell اینترفیس رو هم نشون بده، وقتی کلاینت شما باعث اجرای یک برنامه بشه، اینترفیس روی سرور منطقا نمایش داده خواهد شد که کلاینت از اون بیخبره! ولی برنامه مثل Dir که اینترفیس نداره، براحتی توسط xp_cmdshell اجرا میشه و نتیجه میده:


exec xp_cmdshell 'dir c:\'

احتمالا شما Exe نامناسبی رو برای xp_cmdshell استفاده کرده بودین؟..