2015-12-21 30 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

好的第一個答案!但是,我建議將其格式化爲可讀性步驟列表。 (: –