2015-11-30 55 views
0

我正在編寫一些測試。更改憑據或將良好連接字符串寫入SQL Server數據庫

我想連接到服務器上的數據庫,並使用Visual Studio 2015社區版學習c#。

按照這份指南: https://msdn.microsoft.com/en-us/library/hh272693%28v=vs.103%29.aspx

我打開SQL Server對象資源管理器,並獲得了服務器。但我注意到,連接是由我的實際憑據進行的。

所以連接字符串:

Data Source=serverwiththedatabase;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False; 

我想用domain\domainuser和密碼,只需進行選擇。

所以我應該改變它在:

new SqlConnection("server=serverwiththedatabase;database=myDb;uid=domain\User;password=Pass;"); 
+1

不,只要保持原樣並以域用戶身份運行C#應用程序,則應用程序將使用Windows集成安全性進行身份驗證,並且不會在連接字符串中保存任何憑據 – steoleary

回答

0

最重要的價值觀爲SqlConnection的連接字符串中:

  • Data Source:這是你的數據庫服務器名(不server!)
  • Initial catalog:這是您的數據庫名稱(不是database!)
  • Integrated SecurityTrue如果要使用Windows身份驗證,False如果你想SQL服務器認證

AFAIK只有兩個選項:Windows或SQL Server。因此,如果您將Integrated Security設置爲False,則需要指定UIDPWD,這將成爲SQL Server身份驗證的憑據。該用戶必須在SQL服務器的用戶管理中定義,並且與域用戶無關。

如果您使用Windows身份驗證,則使用調用進程的用戶憑據(在您的情況下將是您的Windows用戶憑據)啓動連接。

有關連接字符串的更多信息,請參閱SqlConnectionStringBuilder,要將用戶添加到SQL服務器,請參閱here

+0

非常感謝,如果我想讓一個用戶只能在某些視圖上執行某些選擇我應該授予哪些屬性或角色? – Malkavian

+0

那麼這是另一個問題,我並不擅長sql server用戶管理的細節。我將不得不穿過管理窗口並找出自己。所以,也許你想打開另一個問題,讓更多有經驗的用戶可以幫助你。 –

相關問題