如何使用C 監聽SQL Server資料庫

2021-06-26 07:50:05 字數 2155 閱讀 7901



新建乙個sql clr資料庫專案,來對資料庫的變化進行監聽,如:當有資料發生變化(增刪改), sql clr資料庫專案就會獲得通知,此時我們在開啟乙個socket,將資料庫變化的訊息傳送到iis伺服器,iis伺服器然後再發布出資料庫已傳送變化的訊息,此時連線到伺服器的客戶端就會收到通知,就會根據伺服器發來的表名,去決定是否需要重新獲取資料,已達到客戶端的資料是實時資料的效果:

第一步:

第二:

using system;

using system.data;

using system.data.sqlclient;

using microsoft.sqlserver.server;

using system.text.regularexpressions;

using system.web.services;

using system.net.sockets;

using system.threading;

using system.net;

using system.text;

using system.collections.generic;

using system.runtime.remoting.contexts;

public partial class triggers}}

//static socket serversocket;

// static socket clientsocket;

// static thread thread;

//public static void startsocket()

//));

// thread.start();

// }

//}//public static void dowork(socket s, byte buffer)

//// }

// catch

//

//}public bool isemailaddress(string s)

}

第三步:為了能使用socket,需要為程式集簽名:

第四步:

在資料庫中執行:

use master

create asymmetric key sqlclrtestkey1

from executable file = 'c:\sqlserverprojectdemo.dll'

create login sqlclrtestlogin from asymmetric key sqlclrtestkey

grant external access assembly to sqlclrtestlogin;

go

注意:最好不要直接使用debug目錄,可以將你的專案生成的dll拷貝到另外的地方。如:

c:\sqlserverprojectdemo.dll

f5啟動部署:

成功後:

在資料庫中執行

insert into users(username,pass) values('admin','admin')

update users set username='哈哈哈' where username='admin'

然後在你的socket端的伺服器上就會收到 你傳送過去的資料。

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace sqlserverprojectdemo

public tablenotifyprotocol getmodel(byte buffer)

private string getstring(string s,string key)}}

如何通過python連線sqlserver

coding utf 8 import pymssql server 127.0.0.1 連線伺服器位址 user sqluser 連線帳號 password password 連線密碼 with pymssql.connect server,user,password,yourdatabase c...

c 使用HttpListener監聽HTTP請求

最近在專案上需要與第三方系統對接,對方會通過http請求定時推送資料,因此需要在專案中新增監聽http請求的功能,查閱了相關資料,使用system.net下的httplistener實現此功能。基本變數private listeneruri private httplistener listener...

詳解MFC使用ADO連線SQLServer資料庫

vc用ado訪問資料庫全攻略,介紹了vc用ado來訪問資料庫的各個物件及各方法,很經典,也很實用,很值得一看。正文一 ado概述 ado是microsoft為最新和最強大的資料訪問範例 ole db 而設計的,是乙個便於使用的應用程式層介面。ado 使您能夠編寫應用程式以通過 ole.db 提供者訪...