0

目前我在应用程序的 app.config 文件中使用这个连接字符串

add name="LightSailEntities" connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;provider=System.Data.SqlClient;provider connection string='data source=abc.xyz.com;initial catalog=LightSail;user id=LightSail; password=yourpasswordhere;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient"

.Net 应用程序的域和使用 .Net 应用程序的客户端域与 SQL Server 的域不同。我提到“使用寡妇身份验证”只是因为我可以访问安装了 SQL 服务器的服务器计算机(意味着我可以使用远程桌面连接)。

4

3 回答 3

2

对于 Windows Auth,您不需要设置用户 ID 和密码,但您需要包含“Integrated Security=SSPI;”

尝试:

add name="LightSailEntities" connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;provider=System.Data.SqlClient;provider connection string='data source=dev.shopcube.com;initial catalog=LightSail;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient"

这里有更多信息:http: //msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring (VS.71).aspx

于 2013-01-03T10:07:31.083 回答
1

您必须更改 ConnectionString 以使用Integrated Security=SSPIinsetad ofuserpassword

add name="LightSailEntities" 
connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;
provider=System.Data.SqlClient;
provider connection string='data source=dev.shopcube.com;initial catalog=LightSail;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework'" 
providerName="System.Data.EntityClient"

之后,查看Identity适用于您的应用程序的设置Application Pool
必须授权该用户使用Management Studio 的Security\Logins内部访问您的数据库。Object Explorer

于 2013-01-03T11:44:06.107 回答
0

您可以使用以下代码:

SqlConnection conn = new SqlConnection(Configuration.DBConn);

或者如果您使用 Linq2SQL:

DBContext ctx = new DBContext(Configuration.DBConn);

其中配置类 DBConn 字符串包含到 sql 的连接字符串,即:

Data Source=XYZ\\DEV;Initial Catalog=YOURDB;Integrated Security=True;Connect Timeout=600;connection lifetime=600

Integrated Security=True告诉您要使用 Windows 身份验证。

于 2013-01-03T10:07:37.280 回答