PDA

View Full Version : اعلام تغییرات در DB



usef64
سه شنبه 18 آذر 1393, 10:26 صبح
با سلام

آیا این امکان در SQL وجود دارد که من وب سرویسی بنویسم که تغییرات در یک جدول را به من اطلاع دهد؟

pezhvakco
سه شنبه 18 آذر 1393, 16:37 عصر
Trigger برای بررسی کارهای انجام شده بر روی یک Table است .

TRIGGER dbo.<Trigger_Name>
ON dbo.<Table_Name>
AFTER <Data_Modification_Statements, , INSERT,DELETE,UPDATE>

usef64
چهارشنبه 19 آذر 1393, 07:50 صبح
ممنون.
ولی فکر کنم تریگر یه کاری رو توی خود Sql انجام میده. ولی من میخوام به ازای هر تغییری، مثلا یه آلارم به کاربر بده. (مثلا توی یه برنامه دیگه یا هر جور که میشه)

من سرچ زدم، یه چیزایی درباره service brokerو dependency Object گفته شده بود. کسی باهاشون کار کرده یا دربارشون چیزی شنیده؟ آیا اینها به درد کار من میخورن؟

pezhvakco
چهارشنبه 19 آذر 1393, 18:03 عصر
فکر کنم تریگر یه کاری رو توی خود Sql انجام میده.
تریگر ها کاری انجام نمی دهند و فقط یه جور رویداد (Event) برای جدول هستند که می توان به کمک اون ها رویداد های جدول رو کنترل کرد.


من میخوام به ازای هر تغییری، مثلا یه آلارم به کاربر بده.

RAISE_APPLICATION_ERROR

مهرداد صفا
چهارشنبه 19 آذر 1393, 19:14 عصر
سلام.
با ساخت assembly باید مشکلتون حل بشه.

usef64
پنج شنبه 27 آذر 1393, 08:35 صبح
سلام.

من یه کم درباره مواردی که در بالا گفته شده بود، سرچ زدم ولی فکر نتونستم مشکلم رو باهاشون حل کنم.نمیدونم من نتونستم یا اینها برای کار من مناسب نیستن. میشه اگه کسی تجربه انجام این کار روداره، یه کم منو راهنمایی کنه؟

ممنون

pezhvakco
پنج شنبه 27 آذر 1393, 18:46 عصر
درباره مواردی که در بالا گفته شده بود، سرچ زدم
یه کم منو راهنمایی کنه؟
درباره چی جستجو زدین و به چه نتیجه ای رسیدین .
اگه بتونین بیش تر درمورد خواسته و کارهایی که تا کنون انجام دادین بنویسین، بهتر میشه راهنمایی داشت .

usef64
چهارشنبه 10 دی 1393, 10:40 صبح
من در مورد RAISE_APPLICATION_ERROR که شما گفتید سرچ زدم.
ساخت اسمبلی هم که اصلا چیزی دربارش نمیدونم.
قبلا هم خودم که سرچ زدم اطلاعاتی دربارهservice brokerو dependency Object اومد. حالا نمیدونم دقیقا باید چیکار کنم؟

من میخوام وقتی توی جدولم اطلاعاتی insertیا update میشه، به گونه ای بهم خبر بده یا کاری رو اتومات توی بانک یه برنامه دیگه انجام بده.

pezhvakco
چهارشنبه 10 دی 1393, 19:13 عصر
به گونه ای بهم خبر بده
یعنی چی به شما خبر بده => می خوای به شما زنگ بزنه یا اس ام اس بده .

RAISERRORPRINT 'Show Message'
PRINT 'Show Message'
نمونه توابع برای گرفتن خروجی از تریگر ها است .


یا کاری رو اتومات توی بانک یه برنامه دیگه انجام بده.
در تریگر یک جدول میشه هر دستوری (فقط نمی شه دیتابیس رو دستکاری کرد مثلا حذف اون) رو برای انجام کارهای درخواستی بر روی جدول های همین پایگاه داده و یا پایگاه داده دیگری نوشت .

شما خیلی سخت توضیح می نویسین و من نمی دونم خواسته شما چی است و اینکه با چه زبانی برنامه نویسی انجام می دهید که می خواهید خروجی بگیرین از SQL .

تریگر =
http://barnamenevis.org/showthread.php?296640-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AA%D8%B1%DB%8C%DA%AF%D8%B1

اسمبلی =
سرور SQL مایکروسافت بمنظور ارتقاء مدل برنامه نویسی پایگاه داده خود، تکنولوژی SQL CLR را معرفی کرد.
http://www.30sharp.com/article/13/80/2/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%88-%D8%A8%D8%AD%D8%AB-%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-%D8%AA%D8%B9%D8%B1%DB%8C%D9%81-%D8%B4%D8%AF%D9%87-%D8%AA%D9%88%D8%B3%D8%B7-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D8%AF%D8%B1-sql-server.aspx