2012-06-07 133 views
1

我創建了一個C#控制檯應用程序,並且需要訪問我的數據庫。無法打開數據庫連接

var connectionString = "Data Source=MyServer;Integrated Security=True;Initial Catalog=MyDB;"; 

using (var connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 
} 

.Open()給出了一個例外:

「無法打開 」mydb「 數據庫。登錄所請求的登錄失敗。」

你能幫我解決嗎?我應該給我的申請一些許可嗎?我怎樣才能在Windows 7上做到這一點?

+1

由於您使用的是集成安全性,Windwos id程序是否正在運行,以致無法訪問MyDB數據庫? – user957902

+1

您無權使用憑據訪問服務器。 –

+0

我希望我的程序能夠從任何計算機訪問數據庫。有可能授予申請權限嗎? –

回答

1

如果您使用Windows身份驗證,您不應該需要用戶名和密碼(假設您對數據庫擁有權限,則您登錄到Windows就足夠了)。否則,你需要一個用戶名和密碼的數據庫。

此外,我不確定它的重要性,但在遇到權限問題時,以管理員身份運行應用程序總是一個好主意。

+0

如果我從Visual Studio運行它,我該怎麼做? –

+0

@DavidShochet你必須打開VS作爲管理員。這些權限由從其啓動的應用程序繼承。 – evanmcdonnal

+0

我做到了,但它沒有幫助... –

3

您應該嘗試在連接字符串中指定用戶和密碼。

var connectionString = "Data Source=MyServer;Integrated Security=True;Initial Catalog=MyDB;user=you;password=password;"; 
+3

你應該決定使用** ** Integrated Security = True;或'User = you; password = ...' - 兩者同時沒有任何意義! –

+0

@marc_s馬克是對的。我錯過了從操作員的帖子複製該行。 –