SqlDependency.启动为文件附加自动命名数据库的尝试失败
本文关键字:数据库 失败 启动 文件 SqlDependency | 更新日期: 2023-09-27 18:09:47
iv'e获得了NORTHWND.mdf和NORTHWND的副本。登录我的App_Data文件夹
我的连接字符串:
<add name="northwind_connection" connectionString="Data Source=.'SQLEXPRESS;AttachDbFileName=|DataDirectory|NORTHWND.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
当我尝试打开和关闭连接时,一切都很好。
string connStr = WebConfigurationManager.ConnectionStrings["northwind_connection"].ToString();
SqlConnection conn = new SqlConnection(connStr);
SqlCommand command = new SqlCommand("Select * From Products");
command.Connection = conn;
conn.Open();
SqlDataReader reader = command.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
conn.Close();
现在,在这段代码旁边,我想将SqlCacheDependency添加到页面中当我放置代码时:显示在msdn 中
SqlDependency.Start(connStr);
我得到以下错误:
为C:''Program Files(x86(''Common Files''Microsoft Shared''DevServer''10.0''NORTHWND.mdf文件附加自动命名数据库的尝试失败。存在具有相同名称的数据库,或者指定的文件无法打开,或者它位于UNC共享上。
为什么会发生这种情况,我需要配置什么才能使SqlCacheDependency工作。
提前感谢eran。
此外,如果我将连接字符串更改为特定的,我想添加一个
<add name="northwind_connection" connectionString="Data Source=.'SQLEXPRESS;AttachDbFilename=C:'Program Files'Microsoft SQL Server'MSSQL10_50.SQLEXPRESS'MSSQL'DATA'NORTHWND.MDF; Integrated Security=True" providerName="System.Data.SqlClient" />
一切正常,但这似乎是错误的,因为我不希望用户将连接字符串更改为他们的路径,这就是为什么我想将其放入App_Data或列表中给出的相对路径。''SQLEXPRESS也不起作用:
<add name="myConnection" connectionString="Data Source=.'SQLEXPRESS;Initial Catalog=NORTHWND;Integrated Security=True;" providerName="System.Data.SqlClient"/>
请阐明这个问题,必须有一些配置才能实现这一点。提前谢谢。eran。
我认为不能将SqlCacheDependency
与auto-attach (SQLEXPRESS)
类型的连接字符串一起使用。
您需要在Management studio中附加数据库,并将连接字符串更改为:
server=(local);database=Northwind;Integrated Security=SSPI;
然后你需要执行ALTER DATABASE NORTHWIND SET ENABLE_BROKER
如果你需要为用户提供这种设置,那么你可以编写一个SQL脚本来为他们做这件事。