2015-05-26 123 views
0

我想用我的C#程序連接到我的服務器上的數據庫,並且連接保持超時。我的連接字符串是:用C連接到服務器上的SQL Server數據庫#

string MyConnection = @"Data Source=YJN-DC-SQLEXPRESS;Initial Catalog=Test; Integrated Security = SSPI; User ID= username; Password=password;"; 

SQL Server確實允許遠程連接。我沒有聲望發佈圖像,所以這裏是它的鏈接http://imgur.com/0CDBg5q這是我得到的錯誤消息。我正在使用Visual Studio 2012

+6

也許連接字符串應該是這樣的:'@「數據源= YJN-DC \ SQLEXPRESS ......'你需要的計算機名之間的反斜槓和SQLEXPRESS實例名稱 – Steve

+5

此外,您應該使用「集成安全性= SSPI」(Windows身份驗證)或「用戶ID =用戶名;密碼=密碼」(SQL身份驗證),而不是兩者都是 – dotnetom

+0

[差異集成安全性= True和集成安全= SSPI](http://stackoverflow.com/questions/1229691/) – Steve

回答

0

您需要確保連接字符串是正確的。對於初學者,因爲dotnetom指出您需要使用集成安全性(Windows身份驗證)或用戶標識和密碼,而不是兩者。

下面是關於建立連接字符串的一些很好的信息,但我會給你所需的基礎知識。 https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

如果你想使用一個用戶名和密碼,那麼你就需要使用:

String MyConnection = @"Data Source=<ServerName>;InitialCatalog=<DatabaseName>;User ID=<UserName>;Password=<Password>;"; 

,如果你想使用集成安全性(Windows身份驗證),那麼你就需要使用:

String MyConnection = @"Data Source=<ServerName>;InitialCatalog=<DatabaseName>;Integrated Security=True;"; 

你所擁有的信息替換<ServerName>和所有其他人。如果服務器有一個實例名稱,那麼您需要在<ServerName>。結果將類似於ServerName\InstanceName。只要您使用Windows身份驗證進行身份驗證,那麼您應該可以使用Integrated Security=True並且沒問題。

如果您確實需要增加超時時間,您可以通過添加連接超時來實現:Connection Timeout=30。連接超時以秒爲單位。

如果您有Microsoft SQL Server Management Studio,我強烈建議您確保您的憑證可以與相關服務器一起使用。試用用戶名/密碼組合或集成安全性。

編輯: 要回答你關於它是否Password= PasswordPassword=Password的問題,你應該去的第二個選項,並刪除之間的空間。我相信另一種方式仍然可以工作,只是沒有空間就簡潔一點。

這是另一個偉大的網站與例如連接字符串:Example Connection Strings

相關問題