远程服务器的实体框架连接字符串

时间:2014-05-19 16:18:10

标签: c# asp.net asp.net-mvc entity-framework asp.net-mvc-4

尝试发布ASP.NET MVC网站,数据库位于不同的服务器上,而asp.net文件则不同。我在我的个人计算机上开发这个站点,在同一台机器上使用VS12,db和frontend,现在当我发布站点时,它在连接到db时给我错误

> <add name="RWWEntities"
> connectionString="metadata=res://*/Models.RWWModel.csdl|res://*/Models.RWWModel.ssdl|res://*/Models.RWWModel.msl;provider=System.Data.SqlClient;provider
> connection string=&quot;data
> source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\RWW.mdf;integrated
> security=True;multipleactiveresultsets=True;application
> name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

将其更改为

> <add name="RWWEntities"
> connectionString="metadata=res://*/Models.RWWModel.csdl|res://*/Models.RWWModel.ssdl|res://*/Models.RWWModel.msl;provider=System.Data.SqlClient;provider
> connection string=&quot;Data Source=202.198.12.11;Initial
> Catalog=PalRWW;User ID=PalRWWUser;Password=<pass>;integrated
> security=True;multipleactiveresultsets=True;application
> name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

请帮忙。

2 个答案:

答案 0 :(得分:2)

原始文件似乎使用本地文件db,而新文件连接到远程数据库 - 很可能是SQL Server。远程计算机上的sql server并不知道您的网站应用程序池用户正在运行的用户。如果您在域中,则可以在域用户下运行该站点,并将SQL Server的权限授予域用户。否则,可以更改连接字符串以提供数据库用户标识和密码,并确保在数据库上设置用户并具有适当的权限。如果您正在使用实体框架并期望它生成您的数据库,那么您的用户必须拥有管理员权限才能创建数据库。

答案 1 :(得分:1)

您的权限是针对集成安全性设置的,可能是您的服务器未设置为集成安全性,并且需要使用具有足够权限的用户和密码进行SQL身份验证。