Sql Server数据库监听 c#代码
时间: 2023-08-17 22:09:06 浏览: 195
以下是使用C#代码监听SQL Server数据库的示例:
```csharp
using System;
using System.Data.SqlClient;
class Program {
static void Main() {
string connectionString = "Data Source=(local);Initial Catalog=YourDatabase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString)) {
connection.Open();
SqlDependency.Start(connectionString);
Console.WriteLine("Listening to database changes...");
using (SqlCommand command = new SqlCommand("SELECT * FROM YourTable", connection)) {
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(OnNotificationChange);
// Start the command execution
using (SqlDataReader reader = command.ExecuteReader()) {
// Process the data
}
}
}
}
private static void OnNotificationChange(object sender, SqlNotificationEventArgs e) {
Console.WriteLine("Database changed!");
// Handle the database change event
}
}
```
在上面的示例中,我们创建一个 `SqlConnection` 实例并使用 `SqlDependency.Start()` 方法启动侦听器。然后,我们创建一个 `SqlCommand` 实例并将其传递给 `SqlDependency` 构造函数,然后订阅 `SqlDependency.OnChange` 事件,该事件将在数据库更改时触发。在事件处理程序中,您可以处理数据库更改事件。
请注意,为了使侦听器正常工作,需要进行以下配置:
1. SQL Server 服务必须启用 Service Broker。
2. 数据库必须启用 Service Broker 并启用对该数据库的通知。
3. 授予使用数据库的用户 RECEIVE 权限。
希望能对你有所帮助!
阅读全文