View Full Version : سوال: ارسال پیام از SQL به Application
dr_csharp
شنبه 27 مهر 1387, 14:08 عصر
سلام
من میخوام وقتی رکورد تو بانک Insert میشه،یکسری از فیلدهای رکورد insert شده رو به یه exe پاس کنم.اول فکر کردم با xp_cmdshell میشه ولی ظاهرا نمیشه.
شدیدا نیاز به راهنمایی دوستان دارم
mehdi58
شنبه 27 مهر 1387, 16:26 عصر
فكر مي كنم راه حل با Notification باشه . ( يه لحظه به شك افتادم فكر مي كنم Server Broker باشه )
البته من خيلي در اين زمينه كار نكردم ولي مي دونم كه مي توني هر گونه تغييري رو بلافاصله به Application ات اعلام كني و اونا رو نمايش بدي .
AminSobati
شنبه 27 مهر 1387, 22:39 عصر
دوست عزیزم،
این کار میتونه از حالت خیلی ساده شروع و به سناریوهای پیچیده ختم بشه! بعنوان اولین راه حل، شما میتونین زمان اجرای فایل exe بهش پارامتر ارسال کنین و در برنامه exe پارامترها رو تجزیه کنین. xp_cmdshell میتونه این کار رو انجام بده. به چه مشکلی برخورد کردین؟
این یک مثال:
declare @z varchar(100)
set @z='dir' + ' c:\'
exec master.dbo.xp_cmdshell @z
ASKaffash
یک شنبه 28 مهر 1387, 07:39 صبح
سلام
بنظرم اگر تنها مقدار فیلد کلیدی رکورد مورد نظر را به برنامه EXE پاس دهید پیچیدگی برنامه کمتراست چون برنامه EXE مورد نظر باید دستور Select ساده و شرط Where و هر مقدار را میتواند مستقیم از بانک برداشت کند و براساس پیشنهاد جناب ثبوتی استفاده xp_cmdshell خیلی انتخاب خوبی است برای اجرای EXE مورد نظر.
dr_csharp
یک شنبه 28 مهر 1387, 16:10 عصر
دوست عزیزم،
شما میتونین زمان اجرای فایل exe بهش پارامتر ارسال کنین و در برنامه exe پارامترها رو تجزیه کنین. xp_cmdshell میتونه این کار رو انجام بده. به چه مشکلی برخورد کردین؟
این یک مثال:
declare @z varchar(100)
set @z='dir' + ' c:\'
exec master.dbo.xp_cmdshell @z
شما میتونی با cmdshell به یه برنامه که UI داره پارامتر بفرستین،مثلا همین Calc.exe رو اجرا کنید ،تو process میاد ولی به کاربر نمایش داده نمیشه!؟
پس حتما باید با یک background worker کار کنیم .. تازه اونم اگه بشه !
برخی دوستان به Service Broker و End point اشاره داشتن.نظر شما چیه ؟
AminSobati
یک شنبه 28 مهر 1387, 19:43 عصر
شما میخواین UI بالا بیاد؟
با SSB میشه کارهایی انجام داد ولی مطمئن نیستم نیاز شما رو جواب بده. مثلا نرم افزار مقصد یک جدول رو Select و Monitor کنه؛ وقتی شما رکوردی در اون Insert میکنین APP با خبر میشه و رکوردهای جدید رو میخونه..
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.