2013-07-28 32 views
-1

我收到此错误信息同时使用数据适配器上的SQL Server Express

无法打开数据库“股票”的要求登录处理异常。登录失败。 用户'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 [email protected]",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)

+1

可能是一大堆事情。您是否可以在代码之外以该用户身份连接到该机器上的该实例?以Sql Server Management studio为例?如果是这样你能看到数据库? –

+0

@TonyHopkinson是的,我可以连接通过SQL服务器管理工​​作室2008-R2 – user1700961

+0

@ user1700961当你连接到SSMS,你连接到'user-pc \ SQLEXPRESS'正确吗? –

回答

0

既然你说你可以通过服务器管理连接,并因为您所标记的问题asp.net错误,我想这个问题在于在连接字符串中使用Integrated Security=True

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

这里有几个建议:

  • 只是为了确保尝试在Visual Studio中可用的服务器浏览器,看看你是否可以连接到数据库。如果可以的话,请使用服务器浏览器使用的连接字符串(对前面提到的集成安全性感到厌倦!)。
  • 尝试打开SQL浏览器Windows服务。
  • 检查是否启用了SQL命名管道(应该默认情况下,但只是为了确保)。
  • 创建控制台应用程序并复制代码 - 控制台应用程序将使用您的凭据,因此即使集成安全性也应该可以工作。
相关问题