【问题标题】:SQL Server Express 2008 connection issue; trying to connect to localhostSQL Server Express 2008 连接问题;试图连接到本地主机
【发布时间】:2011-12-29 18:32:52
【问题描述】:

我遇到了一个我确信很容易解决的问题,但这是我第一次尝试连接到 SQL Server Express 2008 R2。它在我的本地机器上,我的错误是标准:

“无法打开登录请求的数据库“市场”。登录失败。用户“KR\user”登录失败。”

在 SSMS 中,以下是一些连接属性: 认证方式:Windows认证 用户名:KR\user 服务器名称:KR\SQLEXPRESS 实例名称:SQLEXPRESS

这是我的连接字符串: 数据源=localhost\SqlExpress;初始目录=Market;集成安全=True

这是我尝试通过 C# 连接的方式:

connectionString = "Data Source=localhost\\SqlExpress;Initial Catalog=Market;Integrated Security=True";    
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = connectionString;
sqlConnection.Open();

编辑:我尝试使用不同的语法是这个连接字符串:

"Data Source=.\SQLExpress;AttachDbFilename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\Market.mdf';Integrated Security=True;

将它与相同的调用代码一起使用会将错误更改为:

尝试为文件 C:\Program 附加自动命名的数据库 文件\微软 SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\Market.mdf 失败。存在同名数据库,或指定文件不能 被打开,或者它位于 UNC 共享上。

编辑:我通过右键单击数据库资源管理器中的数据库,转到属性,然后将连接字符串属性复制/粘贴到我的代码中,找到了格式正确的连接字符串。谢谢...

【问题讨论】:

  • 你在哪里有 SQLExpress 的本地主机,你可以将它更改为 \\localHost\SqlExpress 或 .\SQLExpress\ 我使用 SQLServer 2008 R2 Enterprise 版本,所以 constrings 有点不同.. 你可以改变集成用户 ID=YourUserId;Trusted_Connection=yes 的安全性也是连接字符串的绝佳链接dofactory.com/Connect/Connect.aspx
  • 你是如何连接的?在代码中还是通过 VS IDE?如果在代码中,请显示代码。
  • @John:我根据您的要求添加了调用代码。我在 VS IDE 中也列出了数据库,由于它对我的调用代码的影响,我是否需要注意那里的连接状态?
  • @DJKRAZE 我很想问这个问题,但我的用户 ID“KR”是基于上面的信息吗?我确定我的错误属于这种性质..
  • @DJKRAZE:我在上面的帖子中添加了一个与您的建议非常接近的字符串,并带有一条新的错误消息..

标签: c# sql-server-2008 connection-string


【解决方案1】:

您需要在您的 SQL Server Express 实例上为该用户设置权限。

需要设置server login(使用 Windows 身份验证)、附加到登录名的 database user 以及该用户将访问的数据库的权限。

【讨论】:

  • 嗨,如果我关注你,如果我在 SSMS 中有正确设置:“Security>Logins>KR\user”?
【解决方案2】:

看起来你的 NT 安全性。已检查“KR\user”是否已被授予营销数据库的权限。打开数据库“市场”>“安全”>“添加用户”。授予他们 DBO 权限,然后重试。

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多