【发布时间】:2012-05-19 09:44:02
【问题描述】:
我正在尝试执行实体框架的 Code First 演练 (http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx)。
我有最新的 SQL Server Express,当我通过命令行检查可用的版本时 (sqllocaldb info):我看到 localdbApp1 和 v11.0。当我尝试通过一些小的调整来运行演练时,我得到一个无法连接的错误。
我的 app.config 如下所示:
<parameter value="Server=(LocalDB)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
我编写了如下所示的简单连接测试,代码返回相同的 SQL 连接错误((提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接))。
new System.Data.SqlClient.SqlConnection("Data Source=(LocalDB)\v11.0; Integrated Security=True; MultipleActiveResultSets=True").Open();
我尝试将"Data Source=..." 替换为"Server=...",但无济于事。
知道连接字符串应该是什么吗?
【问题讨论】:
-
我并不是说这是问题的原因,因为可能还有更多,但是反斜杠在 C# 字符串中是特殊的,除非您在它们前面加上
@:@"(LocalDB)\v11.0"。跨度> -
是的,我没有添加@符号。我确实重试并返回了相同的结果。
-
您的连接字符串中没有数据库。
-
查看我的How to Answer[1] 类似的问题。 [1]:stackoverflow.com/a/27459473/3506427
-
还有
(LocalDb)\MSSQLLocalDB
标签: c# sql-server connection-string sql-server-2012 localdb