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通信

C# .Net Sql连接到本地数据库

看起来可能需要对连接字符串中的斜杠进行转义。

把这个: "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 文件,效果很好。