C# .Net Sql连接到本地数据库
本文关键字:数据库 连接 Net Sql | 更新日期: 2023-09-27 18:33:30
我甚至不得不问这个都觉得很傻,但我一定错过了什么。
我只是尝试在我的开发计算机上打开一个新的 SqlConnection 到我的本地数据库实例。Visual Studio 2013.
我可以并且已从 SSMS 连接到本地数据库,并且没有任何问题。在我正在开发的解决方案中,我可以并且已经成功地连接到带有实体框架的 LocalDB。
在同一解决方案中的另一个项目中,我正在尝试使用旧学校连接到 LocalDB SqlConnection
对象,这就是我完全失败的地方。
这是我尝试使用的连接字符串,
SqlConnection SqlConn = new SqlConnection("Server=(LocalDb)'v11.0;Initial Catalog=DBNAME;Integrated Security=SSPI;Trusted_Connection=yes;");
当我调用SqlConn.Open()
时,我收到一条错误消息,指出它找不到或连接到数据库。
这并不重要,因为当它合并到生产环境时,连接字符串将被更改,但是我一生都无法弄清楚为什么我无法让这个SqlConnection
对象与LocalDB通信
看起来可能需要对连接字符串中的斜杠进行转义。
把这个: "Server=(LocalDb)'v11.0;Initial Catalog=DBNAME;Integrated Security=SSPI;Trusted_Connection=yes;"
进入这个: "Server=(LocalDb)''v11.0;Initial Catalog=DBNAME;Integrated Security=SSPI;Trusted_Connection=yes;"
我找到了这个 nuget 包,它总结了使用 SQLLocalDB。
ISqlLocalDbProvider provider = new SqlLocalDbProvider();
ISqlLocalDbInstance instance = provider.GetOrCreateInstance("MyInstance");
instance.Start();
using (SqlConnection connection = instance.CreateConnection())
{
connection.Open();
// Use the connection...
}
instance.Stop();
就我而言,我在单独的PCL中使用app.config,当ConfigurationManager.ConnectionStrings在app.config文件中查找ConnectionString条目时,显然没有读取该PCL。
解决这个问题的是编辑(在我的情况下,因为没有任何文件而创建)主项目的 app.config 文件,效果很好。