文档章节

sqlDependency监控数据库数据变化,自动通知

深圳大道
 深圳大道
发布于 2016/12/29 15:38
字数 300
阅读 38
收藏 0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace Sample2
{
    class Program
    {
        private static string _connStr;

        static void Main(string[] args)
        {
            _connStr = "Data Source=localhost;User Id=sa;Password=xxx;Database=xxx;Pooling=true;Max Pool Size=600;Min Pool Size=0;";
            SqlDependency.Start(_connStr);//传入连接字符串,启动基于数据库的监听
            UpdateGrid();
            Console.Read();
        }

        private static void UpdateGrid()
        {
            using (SqlConnection connection = new SqlConnection(_connStr))
            {
                connection.Open();
                //依赖是基于某一张表的,而且查询语句只能是简单查询语句,不能带top或*,同时必须指定所有者,即类似[dbo].[]
                using (SqlCommand command = new SqlCommand("select D_Id,D_Name,D_Password,D_Else,D_Amount From [dbo].[TestTable]", connection))
                {
                    
                    command.CommandType = CommandType.Text;
                    SqlDependency dependency = new SqlDependency(command);
                    dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
                    using (SqlDataReader sdr = command.ExecuteReader())
                    {
                        Console.WriteLine();
                        while (sdr.Read())
                        {
                            Console.WriteLine("{0}---{1}---{2}---{3}---{4}", sdr["D_Id"].ToString(),
                                sdr["D_Name"].ToString(), sdr["D_Password"].ToString(), sdr["D_Else"].ToString(), sdr["D_Amount"].ToString());
                        }
                        sdr.Close();
                    }
                }
            }
        }

        private static void dependency_OnChange(object sender, SqlNotificationEventArgs e)
        {
            UpdateGrid();
        }
    }
}
use master
ALTER DATABASE WINE_CLOUD set ENABLE_BROKER

/*
想启用Broker时,出现以下错误:
无法启用数据库 "db2" 中的 Service Broker,因为已存在启用的具有相同 ID 的 Service Broker。
解决办法:
use master
alter database db2 set NEW_BROKER

然后再运行
use master
ALTER DATABASE db2 set ENABLE_BROKER
*/
--验证是否能启用
go
Select DATABASEPROPERTYEX('WINE_CLOUD','IsBrokerEnabled')

--修改数据库使用者(至关重要)
exec sp_changedbowner @loginame = 'sa'

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/53419901

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
SQL数据缓存依赖 [SqlServer | Cache | SqlCacheDependency ]

一、SQL SERVER 7.0/2000和SQL SERVER 2005的简介及比较 1.1 SQL SERVER 7.0/2000 SQL SERVER 7.0/2000没有提供内置的支持数据缓存依赖的功能,所以只能通过采用添加特定数据库表、触发器等方...

walb呀
2017/12/07
0
0
SQL server数据缓存依赖

SQL server数据缓存依赖有两种实现模式,轮询模式,通知模式。 1 轮询模式实现步骤 此模式需要SQL SERVER 7.0/2000/2005版本以上版本都支持 主要包含以下几步: 1.1 使用aspnetregsql命令行或...

随智阔
2015/12/21
40
0
有谁用过.net的SqlDependency这个类吗

class Program { private static string _connStr; static int i = 0; static int maxid = 0; static void Main(string[] args) { _connStr = "xxxx"; SqlDependency.Start(_connStr);//传入......

ulfl
2010/12/06
1K
1
可升级的 ASP.NET Clustered Session State 解决方案NCache

NCache 是一个基于 .NET 应用程序关键任务的集群存储器对象缓存。 NCache 也能对运行在服务器的 .NET 应用程序提供一个可升级的 ASP.NET Clustered Session State 解决方案。分布式缓存和会其...

baobiaokongjian
2014/04/23
169
0
NCache控件使用说明免费下载

NCache 是一个基于 .NET 应用程序关键任务的集群存储器对象缓存。 NCache 也能对运行在服务器的 .NET 应用程序提供一个可升级的 ASP.NET Clustered Session State 解决方案。分布式缓存和会话...

baobiaokongjian
2014/04/29
114
0

没有更多内容

加载失败,请刷新页面

加载更多

经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0
实战项目-学成在线(八)

在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。 注册中心作用: 1、微服务数量众多,要进行远程调用就需要知...

lianbang_W
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部