2013-07-28 72 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命名管道(應該默認情況下,但只是爲了確保)。
  • 創建控制檯應用程序並複製代碼 - 控制檯應用程序將使用您的憑據,因此即使集成安全性也應該可以工作。
相關問題