我正在使用Entity Framework来访问我的数据库中的数据。它是一个MVC应用程序,在本地工作正常。当我在托管(Parallels Plesk Panel,MS托管)上部署应用程序时,我遇到访问SQL Server实例的问题。 cPanel中有一些选项可以保存连接字符串。 LocalSqlServer:
data source =。\ SQLEXPRESS; Integrated Security = SSPI; AttachDBFilename = | DataDirectory | aspnetdb.mdf; User Instance = true
xContainer:
metadata = res:// /Models.x.csdl |res :// /Models.x.ssdl|res://*/Models.x.msl;provider=System.Data.SqlClient;provider连接字符串=
当我上传网站时,单独生成xContainer。我找到了sql server的实例名称并将其应用于数据源。在我的web.config文件中,我使用的是xContainer。本段后面的代码是我在xContainer中connection string=
之后添加的逻辑。
我尝试了各种属性。数据源,初始目录和其他信息填充到conn字符串中(这里我只显示/)。
Data Source = x; Initial Catalog = /; Persist Security Info = True; User ID = /; Password = /; MultipleActiveResultSets = True providerName =
我收到的错误是无法找到sql server实例。如果我将最后一段代码添加到容器中它告诉我没有providerName
,添加providerName
后,字符串将被删除到起始的xContainer字符串:
元数据= RES:// /Models.x.csdl|res:// /Models.x.ssdl|res://*/Models.x.msl;provider=System。 Data.SqlClient; provider connection string =
答案 0 :(得分:0)
The error I receive is that the **sql server instance cannot be found**.
那么,SQL实例名称是什么? :)
它可能不是“。\ SQLEXPRESS”而是“。\ SQLEXPRESS2012”甚至是“。\ MSSQLSERVER”或其他任何内容。
答案 1 :(得分: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"