2012-11-18 114 views
1

有人可以幫我修理我的連接字符串嗎?我是使用MS SQL Management Studio的絕對初學者,但我是一位經驗豐富的C#程序員。我想弄清楚如何連接到我的電腦上的本地數據庫。我今天剛剛安裝了SQL Server 2012 Express,並創建了一行包含一行數據的表。我正在嘗試從C#程序訪問該表。我一直在尋找幫助來調用一個存儲過程(沒有參數),它看起來像我一切正常,但我得到一個異常錯誤「無法找到存儲過程'GetCustomers'」。我也嘗試將我的過程名稱更改爲「dbo.GetCustomers」以及「SqlTest.dbo.GetCustomers」和「SqlTest.GetCustomers」,但似乎沒有任何工作。很明顯,我沒有正確連接到我的數據庫。我已經爲此工作了4個小時,因此我該停下來尋找幫助。我認爲我需要的只是一個很好的連接字符串和程序的正確語法。如何從C#程序連接到本地Microsoft Sql server 2012 Express數據庫?

 Connect c = new Connect(); 
     if(c.MakeConnection()) 
     { 
      try 
      { 
       DataSet data = new DataSet(); 
       SqlDataAdapter adaptor = new SqlDataAdapter(); 

       //changed to use stored procedure 
       adaptor.SelectCommand = new SqlCommand("GetCustomers", c.MyConnect); 
       adaptor.SelectCommand.CommandType = CommandType.StoredProcedure; 
       //adaptor.SelectCommand.ExecuteNonQuery();//this throws an exception. 
       adaptor.Fill(data);//this throws an exception. 
      } 
      catch (Exception e) 
      { 
       Logger.WriteMessage(e.Message); 
      } 
      finally 
      { 
       c.CloseConnection(); 
      } 

我的連接類包含以下內容:我曾嘗試

string connection = Properties.Settings.Default.DatabaseConnectString; 
sqlConnection = new SqlConnection(connection); 
sqlConnection.Open(); 

連接字符串似乎連接OK其中:

Server=(localdb)\v11.0;Trusted_Connection=Yes; 
Server=(localdb)\v11.0;Integrated Security=true; 

我的數據庫名稱是sqltest語句。我已經在連接字符串中嘗試了幾個變體,但其中大多數都會拋出登錄失敗的異常錯誤。我驗證了我的Windows用戶ID具有數據庫的管理員權限。

連接字符串我已經試過這cive我登錄錯誤:

Server=(localdb)\v11.0;Initial Catalog=SqlTest;User ID=Raphael\couchpotato;Integrated Security=SSPI;Trusted_Connection=Yes;   
Server=(localdb)\v11.0;Initial Catalog=dbo;User ID=Raphael\couchpotato;Integrated Security=SSPI;Trusted_Connection=Yes; 
Server=(localdb)\v11.0;Database=SqlTest;Trusted_Connection=Yes; 
Server=(localdb)\v11.0;Database=SqlTest;Integrated Security=true; 

回答

1

我想我只需要睡一會兒。 ;-)

我需要將我的所有SQL服務器服務設置爲自動。出於某種原因,他們被設置爲手動,所以他們沒有開始。

然後,我還需要在連接字符串中設置正確的服務器名稱。這與啓動SQL Server Management Studio時用於登錄的服務器名稱相同。這是連接並訪問正確的數據庫和表的連接字符串:

Server=RAPHAEL\SQLEXPRESS;Database=SqlTest;Trusted_Connection=Yes; 
相關問題