Asp.net 数据库缓存依赖(SQLServer 2005)
来源:互联网 发布:淘宝产品视频拍摄教程 编辑:程序博客网 时间:2024/06/06 16:50
1. 检测是否已经启用Service Broker
Select DATABASEpRoPERTYEX('数据库名称','IsBrokerEnabled') -- 1 表示已经启用 0 表示没有启用
2. 启用Service Broker
Alter database 数据库名称 set ENABLE_BROKER;
3. vs2005中启用数据库缓存依赖
aspnet_regsql.exe -S localhost -U sa -P sa -d database -ed
aspnet_regsql.exe -S localhost -U sa -P sa -d database -t table –et
可以通过aspnet_regsql -?查看命令
4. Gload.asxm中配置
void Application_Start(object sender, EventArgs e)
{ // 在应用程序启动时运行的代码
System.Data.SqlClient.SqlDependency.Start(ConnectionString);
}
void Application_End(object sender, EventArgs e)
{// 在应用程序关闭时运行的代码
System.Data.SqlClient.SqlDependency.Stop(ConnectionString);
}
5. Web.config中配置(不是必须的)
<caching>
<sqlCacheDependency enabled="true" pollTime="1000">
<databases>
<add name="hnfms" connectionStringName="hnfmsConnectionString"/>
</databases>
</sqlCacheDependency>
</caching>
6. 应用程序数据缓存中使用
SqlCommand cmd = new SqlCommand(sql,conn);
SqlCacheDependency scd = new SqlCacheDependency(cmd); 说明:这条语句最好在cmd执行操作之前执行,如
SqlCacheDependency scd = new SqlCacheDependency(cmd); 或command.ExecuteReader();等语句前
Cache.Insert(...,scd,...);
注意:
a). 必须设置完全限定名称的数据表。即表名前面需要加所有者,如dbo.test。
b). 必须明确设置所访问数据库列名称,不能使用“*”。
c). 必须保证不是聚合函数。如COUNT、MAX等。
7. 解决SqlServer启用数据表缓存信赖,非dbo构架的数据表注册不成功的问题
问题提示:
无法对触发器 'dbo.Production.Product_AspNet_SqlCacheNotification_Trigger' 执行创建,因为其架构不同于目标表或视图的架构。在缓存依赖项注册期间失败。
请确保数据库名称和表名称有效。表名称必须符合 SQL 中规则标识符的格式。
失败的 SQL 命令是: dbo.AspNet_SqlCacheRegisterTableStoredProcedure
方法:
1.打开当前数据库,在存储过程列表中找到名称为[dbo].[AspNet_SqlCacheRegisterTableStoredProcedure] 的存储过程并打开。
2.将该存储过程内容的 SET @fullTriggerName = 'dbo.[' + @triggerName + ']' 修改为 SET @fullTriggerName = '[dbo.' + @triggerName + ']'。
3.执行该存储过程,然后重新创建数据表的缓存依赖(执行3中的语句),创建成功!
参考:
http://www.cnblogs.com/mrhgw/archive/2008/09/20/1294656.html
http://hi.baidu.com/freesunshine/blog/item/5749e813ede7002bdc5401d0.html
- Asp.net 数据库缓存依赖(SQLServer 2005)
- ASP.NET 数据库缓存依赖
- ASP.NET 数据库缓存依赖
- ASP.NET 数据库缓存依赖
- ASP.NET数据库缓存依赖
- ASP.NET 数据库缓存依赖
- Asp.net数据库缓存依赖
- ASP.NET数据库缓存依赖
- Asp.net数据库缓存依赖
- Asp.Net数据库缓存依赖
- asp.net 数据库 缓存依赖
- ASP.NET 数据库缓存依赖
- asp.net数据库缓存依赖
- ASP.NET缓存之数据库缓存依赖(一)
- ASP.NET缓存之数据库缓存依赖(二)
- ASP.NET缓存之数据库缓存依赖(三)
- asp.net 实现文件缓存依赖,数据库缓存依赖
- asp.net 实现文件缓存依赖,数据库缓存依赖
- word中如何制作三线表
- InstallShield 工程简介及选择
- Fedora13下载android代码总结
- 现在买个东西累的
- 简易记事本java源码
- Asp.net 数据库缓存依赖(SQLServer 2005)
- Hibernate中hbm文件Set集合顺序对级联插入和删除的影响问题
- 一个完整的Installshield安装程序实例—---基本设置一
- 运动物体跟踪的camshift算法
- Fedora, kmod-nvidia and akmod-nvidia
- 国内市场LBS服务的四大创新方向 / 2010-08-29
- boost libraries的编译安装,以及应用
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- writev与readv