2015-12-21 48 views
0

其他凭据我在C#连接字符串:SQL Server的Windows验证使用非登录用户

strg_SQL_Connection = @"Server=Server\Instance; Database=DB;UID=domain\user; Password=password;"; 

它总是试图使用登录我的开发计算机上的用户,我不来登录想。我怎样才能解决这个问题?

+0

更改'UID = domain \ user;密码=密码;'这一行?同时显示你如何创建上下文 –

+0

你想做什么(你告诉我们你不想要的,但我们必须做出你想要的假设)?具体来说,你是否尝试以不同的Windows用户或SQL Server用户身份登录? – Murph

回答

2

您无法使用连接字符串中的Windows凭据。在建立连接之前,您的进程或至少您的线程必须实际上模拟所需的用户。有很多方法可以模拟,请参阅MSDN以获取详细信息。见WindowsIdentity.Impersonate()和/或Client Impersonation

一个平凡的方式来实现模拟使用runas.exe

+0

我会尽力做到这一点:) – Ghosty

+0

如果你连接到远程服务器(即不是你的本地机器),你也可以使用'NET USE'来执行此操作http://stackoverflow.com/questions/5237654/SQL服务器管理工​​作室-2008-的RunAs用户上,不同的域,在-VPN/5362712#5362712 这将只用于连接到服务器作为单一账户的工作,虽然 - 你可以”与此同时使用多个帐户。 – Ben

0

你可以在开始菜单的SQL Server Management Studio中,按住shift,右击它并选择“运行方式不同的用户”。基本上与runas.exe选项相同,也许更快找到一次性使用,但没有保存凭据的选项。

+0

好的第一个答案!但是,我建议将其格式化为可读性步骤列表。 (: –

相关问题