1

我正在使用实体框架来访问我的数据库中的数据。这是一个 MVC 应用程序,可以在本地正常工作。当我在主机(Parallels Plesk Panel、MS 主机)上部署应用程序时,我在访问 SQL 服务器实例时遇到问题。cPanel 中有保存连接字符串的选项。本地SqlServer:

数据源=.\SQLEXPRESS;集成安全=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;用户实例=true xContainer:元数据=res:// /Models.x.csdl|res:// /Models.x.ssdl|res ://*/Models.x.msl;provider=System.Data.SqlClient;provider 连接字符串=

当我上传网站时,xContainer 是单独生成的。我找到了 sql server 的实例名称并将其应用于数据源。在我的 web.config 文件中,我使用的是 xContainer。本段之后的代码是我connection string=在 xContainer 之后添加的逻辑。

我已经尝试过使用各种属性。数据源、初始目录和其他信息填充到 conn 字符串中(这里我只显示 /)。

Data Source=x;Initial Catalog=/;Persist Security Info=True;User ID=/;Password=/;MultipleActiveResultSets=True providerName=

我收到的错误是找不到 sql server 实例。如果我将最后一段代码添加到容器中,它会告诉我没有 a providerName,在添加 a 之后,providerName该字符串将被删除到起始 xContainer 字符串中:

metadata=res:// /Models.x.csdl|res:// /Models.x.ssdl|res://*/Models.x.msl;provider=System.Data.SqlClient;provider 连接字符串=

4

2 回答 2

0
The error I receive is that the **sql server instance cannot be found**.

那么,SQL 实例名称是什么?:)

它可能不是“.\SQLEXPRESS”,而是“.\SQLEXPRESS2012”,甚至是“.\MSSQLSERVER”或其他任何东西。

于 2013-09-13T09:22:34.550 回答
0

您将需要Web.Config手动编辑文件。ASP.NET 设置页面将删除providerName.

下面是一个使用连接字符串的示例EntityClient。如果您不使用实体模型,则可以删除元数据信息。您会注意到providerName它超出了实际connectionString情况,这就是您需要手动编辑文件的原因。

connectionString="metadata=ModelInformation;provider=System.Data.SqlClient;provider connection string="data source=IP;initial catalog=DATABASE;User ID=USERNAME;Password=PASSWORD;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient"

于 2015-02-13T17:39:29.477 回答