自动生成的(localDB)\ mssqllocalDB连接字符串在mvc中不起作用

时间:2016-12-19 10:32:13

标签: sql-server asp.net-mvc

在我的ASP.NET MVC应用程序中,我创建了新的ADO.net实体对象&指向(localDB)\mssqllocaldb(自动创建的连接字符串,表名tblProduct)。在使用此实体添加新控制器(例如Product)并尝试访问索引页面后,我收到错误。

注意:我能够连接到SQL Server Management Studio中的数据库,并且还能够在Visual Studio服务器资源管理器中的DataConnections中查看数据库

错误:

  

异常消息:与网络相关或特定于实例的错误   在建立与SQL Server的连接时发生。服务器是   没找到或无法访问。验证实例名称是否为   正确并且SQL Server配置为允许远程连接。   (提供者:SQL网络接口,错误:50 - 本地数据库运行时   发生了错误。无法获取本地应用程序数据路径。最   可能没有加载用户配置文件。如果在下执行LocalDB   IIS,确保为当前用户启用了配置文件加载。 )

Windows日志中的应用程序日志:

  

无法获取本地应用程序数据路径。很可能未加载用户个人资料。如果在IIS下执行LocalDB,请确保为当前用户启用了配置文件加载。

连接字符串

  

add name =“productsContextV12”connectionString =“metadata = res:// /Models.products.csdl |res: ///Models.products.ssdl | res:/ /*/Models.products.msl;提供r = System.Data.SqlCli ent; provider connection string =“data source =(LocalDB)\ mssqllocaldb; initial catalog = EMPDB2; integrated security = True; MultipleActiveResultSets = True ; App = EntityFramew ork“”providerName =“System.Data.EntityClient”/>

2 个答案:

答案 0 :(得分:1)

在ConnectionString中将“DataResouce =(LocalDB)\ mssqllocaldb”替换为“Server = np:\。\ pipe \ LOCALDB#2XXXX \ tsql \ query”后,

问题得到了解决。

服务器名称包含实例管道名称,可以使用以下命令找到:

C:GT; sqllocaldb info mssqllocaldb。下面是详细的图片。

感谢GuidoG的快速回复

实例详细信息的命令:

enter image description here

答案 1 :(得分:0)

您的connectionstring用于LocalDB,但未在connectionstring中设置该文件。相反,您似乎将“初始目录”属性设置为某个sql server中的数据库。

对于localDb,您必须设置包含数据库的文件,通常这是一个MDF文件。

这是你需要做的:

在磁盘上的任意位置创建一个文本文件,并为其指定扩展名.udl
现在双击此文件,Microsoft数据链接属性窗口现在将打开 在此窗口中配置所有内容,直到单击“测试连接”成功为止 记得选择

  

将数据库文件附加为数据库名称:

完成此操作并且'test connection'返回成功后,然后在记事本中打开文件,并在您的情况下说明正确的连接字符串应该如何。