错误消息......它给出了有时是兔子轨迹的提示。基本上错误是说“我无法连接到 sql Server,有问题”。
但是..你说你在客户端上“安装了 SqlLocalDB”。
您是否“连接”了新数据库 (SCHOOLDB)?
http://msdn.microsoft.com/en-us/library/hh212961.aspx
A. 创建 LocalDB 实例
以下示例使用 SQL Server 2012 二进制文件创建名为 SCHOOLDB 的 SQL Server Express LocalDB 实例并启动该实例。
SqlLocalDB.exe create "SCHOOLDB" 11.0 -s
Aka,你跑过这样的事情吗?
(来自 MSDN 文章的其他信息可能与此问题无关)
B. 使用 LocalDB 的共享实例
使用管理员权限打开命令提示符。
SqlLocalDB.exe create "SCHOOLDB"
SqlLocalDB.exe share "SCHOOLDB" "SchoolSharedLocalDB"
SqlLocalDB.exe start "SCHOOLDB"
SqlLocalDB.exe info "SCHOOLDB"
REM The previous statement outputs the Instance pipe name for the next step
sqlcmd –S np:\\.\pipe\SCHOOLDB#<use your pipe name>\tsql\query
CREATE LOGIN NewLogin WITH PASSWORD = 'Passw0rd!!@52';
GO
CREATE USER NewLogin;
GO
EXIT
执行以下代码以使用 NewLogin 登录连接到 LocalDB 的共享实例。
sqlcmd –S (localdb)\.\SchoolSharedLocalDB -U NewLogin -P Passw0rd!!@52
编辑 ::: (仅在此行上方阅读以获得一般理解......请参阅下面我实际执行的步骤)
好的,以上内容有点令人困惑,因为很难知道您是在处理 ~instance 还是数据库。
让我们试试这个:
SqlLocalDB.exe create "MySuperCoolLocalExpressInstance"
SqlLocalDB.exe share "MySuperCoolLocalExpressInstance" "MySuperCoolLocalExpressInstanceSHARED"
SqlLocalDB.exe start "MySuperCoolLocalExpressInstance"
SqlLocalDB.exe info "MySuperCoolLocalExpressInstance"
现在,非常重要的是,获得您非常独特的“命名管道”值。
np:\\.\pipe\LocalDB#<use your pipe name>\tsql\query
将您的 SchoolDB.mdf 和 SchoolDB.ldf 复制到:
c:\MyCoolLocalDatabaseFiles\
现在将您的连接字符串设置为:
<connectionStrings>
<add name="SchoolModelContext"
connectionString="metadata=res://*/SchoolModel.csdl|res://*/SchoolModel.ssdl|res://*/SchoolModel.msl;
provider=System.Data.SqlClient;provider connection string="data source=np:\\.\pipe\LOCALDB#MYUNIQUEPIPENAME\tsql\query;attachdbfilename=C:\MyCoolLocalDatabaseFiles\SchoolDB.mdf;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
但是用“MYUNIQUEPIPENAME”代替你的值。
关键是“附加数据库文件名”。这就是“即时”附加数据库的方法。
您有一些使用命名管道语法的替代方法。看:
http://www.connectionstrings.com/sql-server-2012
“本地 SQL Server Express 上的用户实例”
enter code here