我如何使一个连接字符串在所有pc运行
本文关键字:pc 运行 字符串 何使一 连接 | 更新日期: 2023-09-27 18:15:15
我有connection string
的问题后,使新的窗口没有工作上面写着
时发生与网络相关或特定于实例的错误连接SQL Server
我的连接字符串:
<add name="storemanagerEntities1"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.;AttachDbFilename=F:'ENjaz'KKKK'Store-Manager'Store-Manager'storemanager.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;Initial Catalog=storemanager;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient"/>
有没有办法使我的connection work
在任何地方?
更改连接字符串的这一部分
AttachDbFilename=|DataDirectory|'Store-Manager'storemanager.mdf
DataDirectory是一个替换字符串,可以在程序中使用
控制它AppDomain.CurrentDomain.SetData("DataDirectory", ".....");
这应该在调用任何数据访问代码之前完成。
当然,在目标PC上,您应该确保有路径
让我举一个实际的例子。
您使用此
设置连接字符串....;AttachDbFilename=|DataDirectory|'storemanager.mdf;....
在目标PC中,将数据库文件部署在名为Store-Manager
的子文件夹中,该子文件夹是CommonApplicationData文件夹的子文件夹
(在Win7上,这是C:'programdata)。
然后,在代码中,在任何数据访问代码之前,写入
string appPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
AppDomain.CurrentDomain.SetData("DataDirectory", Path.Combine(appPath, "Store-Manager");
当然,在目标PC上应该已经安装了Microsoft Sql Server Express(或没有)。
参见Microsoft论坛上的这篇文章或同一站点上的这个问题