C# 在SQL Server Express上使用数据适配器时处理异常
我收到了这个错误消息 无法打开登录请求的数据库“stock”。登录失败。 用户“用户pc\computer”登录失败 我写的代码:C# 在SQL Server Express上使用数据适配器时处理异常,c#,asp.net,sql-server-express,C#,Asp.net,Sql Server Express,我收到了这个错误消息 无法打开登录请求的数据库“stock”。登录失败。 用户“用户pc\computer”登录失败 我写的代码: protected void btnSubmit_Click(object sender, EventArgs e) { using (SqlConnection con = new SqlConnection("Data Source=user-pc\\SQLEXPRESS;Initial Catalog=stock; Integrated Securit
protected void btnSubmit_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("Data Source=user-pc\\SQLEXPRESS;Initial Catalog=stock; Integrated Security=True;User Instance=True"))
{
using(SqlCommand cmd=new SqlCommand("Select username,password from userprofile where username=@username",con))
{
cmd.Parameters.AddWithValue("@username", txtUserName.Text);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
string userid = dt.Rows[0]["username"].ToString();
它在
da.fill(dt)
上显示错误,因为您说可以通过服务器管理进行连接,并且您标记了问题asp.net
,我猜问题在于在连接字符串中使用integratedsecurity=True
您正在开发和启动的应用程序可能使用了不同的凭据,因此无法登录到数据库
以下是一些建议:
- 请尝试Visual Studio中可用的服务器浏览器,看看是否可以连接到数据库。如果可以,请使用服务器浏览器使用的连接字符串(厌倦集成安全性,如我前面提到的!)
- 尝试打开SQL浏览器Windows服务
- 检查是否启用了SQL命名管道(默认情况下应该启用,但只是为了确保)
- 创建一个控制台应用程序并复制您的代码-控制台应用程序将使用您的凭据,因此即使是集成的安全性也应该可以工作
用户pc\SQLEXPRESS
正确吗?不是我说的。与运行应用程序的同一windows用户在该计算机上访问该实例。这可能是对数据库的权限、对实例的连接以及计算机。即使在某些情况下,也会出现DNS问题。一般来说,这是一个doh时刻,但你必须停止做出“这应该行得通”的假设,并找出从哪里做了什么。