如何在C#中更改windows认证连接字符串的用户

时间:2016-01-25 12:05:28

标签: c# connection-string ssms windows-authentication

当我想在Windows身份验证模式下通过SSMS连接到SQL Server 2008时,我收到以下错误:

login failed for user UserDomainName\UserName

我在混合模式下安装了我的SQL Server并将用户设置为NT Authority \ system,如何在C#中使用“UserDomainName \ UserName”用户而不是“NT Authority \ system”用户创建连接字符串?

2 个答案:

答案 0 :(得分:1)

将连接字符串存储在Web.ConfigApp.Config文件

<connectionStrings>
<Add name="CS" ConnectionString="DataSource=.;Database=Sample;Integrated Security=SSPI" ProviderName="System.Data.SqlClient"/>
</connectionStrings>

然后您可以使用System.Configuration命名空间(dll)

读取连接字符串属性
string conStr = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
  

如何使用“UserDomainName \ UserName”创建连接字符串   用户不在C#中使用“NT Authority \ system”用户?

然后使用SQL身份验证模式而不是Windows身份验证

ConnectionString="DataSource=.;Database=Sample;user id = test; password=test"

答案 1 :(得分:0)

它应该是这样的:

string address = "data source=(local);initial catalog=yourDB;user id=sa;password=yourPass";

或者:

string address = "Data Source=(local);Initial Catalog=yourDB;Integrated Security=True";

您可以查看以下内容:SQL Server 2008 connection strings

修改: Integrated Security将始终使用当前身份。因此,您无法使用来自其他域的凭据与Windows身份验证建立连接。您需要为此UserDomainName\UserName创建一个SQL Server登录名:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; User ID=UserDomainName\UserName;Password=myPassword; 
相关问题