2012-06-07 130 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马克是对的。我错过了从操作员的帖子复制该行。 –