SQL SERVER 7.0/2000没有提供内置的支持数据缓存依赖的功能,所以只能通过采用添加特定数据库表、触发器等方式,通过后台不断轮询数据库来检查数据更改。当在数据表上执行INSERT、UPDATE、 DELETE操作时将自动发出更改通知,所以只能监测到表级,具体到哪一行是没法跟踪的。
使用方法步骤:
1.1.1 使用aspnet_regsql命令行或SqlCacheDependencyAdmin来配置连接数据库。
1.1.1.1 ALTER DATABASE <DatabaseName> SET ENABLE_BROKER;
aspnet_regsql -S <server> -U sa -P sa -d <database> -ed 启动数据库的数据缓存依赖功能
aspnet_regsql -S <server> -U sa -P sa -d <database> -t <table> -et 启动数据表的数据缓存依赖功能
1.1.1.2
SqlCacheDependencyAdmin.EnableNotifications(connectionString); //启动数据库的数据缓存依赖功能
SqlCacheDependencyAdmin.EnableTableForNotifications(connectionString, table); //启用数据表缓存
推荐这段代码写在Global.asax的Application_Start方法中,以便应用程序启动的时候就启用数据库和数据表的缓存依赖功能。
1.1.2 配置Web.config
<sqlCacheDependency enabled="true" pollTime="10000">配置在<sytem.web>下的<caching>结点下,例如:
< ! -- 启动缓存依赖,每5秒轮询一次-->
< sqlCacheDependency enabled = "true" pollTime = " 5000 " >
< databases >
< add name = "Open1202" connectionStringName = "ConnectionString" pollTime = " 5000 " />
</ databases >
</ sqlCacheDependency >
</ caching >
注意没有指定<database>节点的话可能报错:无法在配置中找到“数据库名称 ”数据库。
本文来自: 51模板集(www.51mubanji.com) 详细出处参考:http://www.51mubanji.com/sjk/SQL/75.html