繁体   English   中英

当我使用ADO.NET连接到数据库时,出现错误

[英]While I connect to database using ADO.NET there is an error

当我使用ADO.NET建立与SQL Server的连接时,它显示错误。

以下是代码:

SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=abdul;Integrated Security=true");
SqlCommand cmd = new SqlCommand();

con.Open();

String str="select * from emp where empname='Abdul'";
cmd = new SqlCommand(str, con);

SqlDataReader dr = cmd.ExecuteReader();

if (dr == null || !dr.HasRows)
{
   MessageBox.Show("No Records found");
}
else
{
   while (dr.Read())
   {
      textBox1.Text = dr[0].ToString();
      textBox2.Text = dr[1].ToString();
   }
}

当我运行项目时,它显示以下错误:

无法打开登录请求的数据库“ abdul”。 登录失败。

该怎么办?

登录在SQL Server级别成功。 然后

  • 数据库存在,但您使用的登录名无权访问该数据库
  • 数据库不存在

在SSMS中,转到adbul数据库。 展开安全性节点,然后在其中添加相关用户(映射到登录名)和安全性。 如果仍然不能,您是否创建了数据库单用户?

目前很难提供更多细节。

您需要检查与之连接的用户是否是有效的SQL登录名,以及提供的密码是否正确。 您还需要确保登录名在他们尝试连接的数据库中具有关联的SQL用户。

SQL登录名用于访问服务器本身,并且映射到数据库SQL用户。

您说您创建了数据库。 你是怎么做的? 是来自sql management studio吗? 如果是这样,这是否与您执行上述程序代码在同一Windows会话中?

我问,因为如果您可以创建数据库,我相信您应该能够连接到该数据库。

我将看一下成功连接Sql Management Studio与尝试超越问题中第三行代码之间的区别。 (假设这是失败的地方,甚至可以编辑问题以排除其他问题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM