-1

我收到此错误消息

无法打开登录请求的数据库“股票”。登录失败。用户 'user-pc\computer' 登录失败。

我写的代码:

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)

4

1 回答 1

0

既然您说您可以通过服务器管理进行连接,并且您标记了问题asp.net,我猜问题在于Integrated Security=True在您的连接字符串中使用。

您正在开发和启动的应用程序可能使用不同的凭据,因此无法登录数据库。

这里有一些建议:

  • 只是为了确保尝试 Visual Studio 中可用的服务器浏览器,并查看是否可以连接到数据库。如果可以,请使用服务器浏览器使用的连接字符串(厌倦集成的安全性,正如我之前提到的!)。
  • 尝试打开 SQL Browser Windows 服务。
  • 检查是否启用了 SQL 命名管道(默认情况下应该启用,但只是为了确定)。
  • 创建一个控制台应用程序并复制您的代码 - 控制台应用程序将使用您的凭据,因此即使是集成的安全性也应该可以工作。
于 2013-07-28T21:56:15.170 回答