2010-06-24 55 views
1

我是一個初學者在使用Asp.NET用C#,這是我試圖建立與SQL服務器的連接,我第一次2005數據庫:ConnectionString的問題,2005年

這裏是我的簡單的代碼連接到SQL Server數據庫,我收到標籤中設置的文本消息。我的連接字符串的問題?如果是的話,請告訴我的實例怎麼寫和OW獲取服務器名稱,並將其寫正確....或如何指定數據庫名稱(全路徑或只是數據庫名稱?)

protected void Page_Load(object sender, EventArgs e) 
     { 
      SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true"); 
      try{ 
       connection.Open(); 
      } 
      catch{ 
       lblMessage.Text = "COULDN'T CONNECT to Stupid database"; 
      }finally{ 
       connection.Close(); 
      } 



     } 

謝謝,

+0

拋出什麼異常?你可以在catch和output ex.Message之後添加(Exception ex)嗎? – 2010-06-24 16:38:14

+0

他正在吃這個例外。 – 2010-06-24 16:41:33

回答

0

謝謝大家!我想我在這裏有一個以上的問題,但讓我展示解決方案,以便沒有人會花很多時間連接到SQL服務器數據庫!

protected void Page_Load(object sender, EventArgs e) 
    { 
     SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ChurchApp\ChurchApplication\App_Data\Database.mdf;Integrated Security=True;User Instance=True"); 
     try{ 
      connection.Open(); 
      lblMessage.Text = "Connection Succeeded!"; 
     } 
     catch(Exception ex){ 
      lblMessage.Text = ex.Message; 
     }finally{ 
      connection.Close(); 
     } 



    } 

我有@符號連接字符串前失蹤,我以前用戶/代替,並得到了錯誤,我得到! (不這樣做!!)

通過在服務器資源管理器中右鍵單擊您的數據庫並修改連接然後高級獲取連接字符串.....複製一切從您獲得的高級屬性或只是基本連接字符串位於頁面底部。

1

更改您的代碼這一點,併發布了什麼lblMessage中有:

protected void Page_Load(object sender, EventArgs e) 
     { 
      SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true"); 
      try{ 
       connection.Open(); 
      } 
      catch(Exception ex) 
      { 
       lblMessage.Text = ex.Message; 
      }finally{ 
       connection.Close(); 
      } 

     } 

現在你是把隱藏的問題「無法連接到數據庫愚蠢」到你的錯誤標籤。

0

入住這Connection-Strings

之前這一切,你能不能讓您使用的SQL Server版本,是居住在App_Data目錄中的數據庫文件清楚嗎?

//Change the catch statement to get the error 
//Original Code 

catch{ 
    lblMessage.Text = "COULDN'T CONNECT to Stupid database"; 
} 

//Change it into 
catch(Exception ex){ 
    lblMessage.Text = ex.Message.ToString(); 
} 
+0

是數據庫駐留在App_Data目錄中,服務器版本是SQL server 2005 ....我應該把這兩個中的任何一個放在我的連接字符串中嗎? – 2010-06-24 22:08:10

+0

試試這個: 「Server =。\ SQLExpress; AttachDbFilename = | DataDirectory | Database。中密度纖維板; Database = dbname; Trusted_Connection = Yes;「 將dbname替換爲數據庫名稱,我想這應該做。 – Chaitanya 2010-06-25 00:48:35

2

使用受信任的連接應爲SQL Server的連接字符串:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI

myServerAddress可能是您的服務器名稱的IP地址,例如SQLSERVER01或192.168.1.5 myDataBase應該是實際的數據庫名稱而不是MDF文件,例如Northwind

1

其他人已經建議更好的異常處理來獲得一些信息。

另一種方法: 此外,您可以使用Visual Studio的「添加數據源」嚮導來查找並連接到您的數據庫。您可以在虛擬頁面或項目中執行此操作。然後複製生成的ConnectionString(來自xx.config)。