当我使用ADO.NET连接到数据库时,出现错误
虽然我使用ADO.NET建立了与SQL Server的连接,但它显示错误。当我使用ADO.NET连接到数据库时,出现错误
以下是代码:
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();
}
}
当我运行项目它显示了以下错误:
Cannot open database "abdul" requested by the login. The login failed.
什么要做的?
登录在SQL Server级别成功。然后要么
- 数据库存在,但使用的是不具有对数据库的访问
- 登录该数据库不存在
在SSMS,去adbul
数据库。展开安全节点并添加相关用户(映射到登录名)+安全性。如果你仍然不能,你是否创建了数据库单用户?
目前很难提供更多细节。
对不起,我是新来的sqlserver,我不知道像这样的单一用户,我只是简单地创建它。请解释我解决这个问题。 –
您需要检查您所连接的用户是否为有效的SQL登录,并且提供的密码是正确的。您还需要确保登录在他们尝试连接的数据库中具有关联的SQL用户。
SQL登录用于访问服务器本身,并将它们映射到数据库SQL用户。
你说你创建了数据库。你是怎么做的?来自sql管理工作室吗?如果是这样,是否在执行上述程序代码的同一个Windows会话中?
我问,因为如果你可以创建一个数据库,我相信你应该能够连接到它。
我想看看与Sql Management Studio成功连接并试图超越问题中第三行代码的区别。 (假设这是失败的地方,甚至可以编辑这个问题以取代以上的界限)。
您是否创建了名为'abdul'的数据库?您的应用程序是否使用创建数据库的相同用户帐户运行? – Yahia
缺少连接字符串中的密码?尝试一下。 –
程序在其下运行的帐户是否具有服务器和数据库的权限? – Tim