2009-09-17 154 views
1

我有一個sqlconnection問題。當我使用sqldatasource時,我有完美的連接到sql server。 但是當我嘗試使用SqlConnection對象拋出異常。Sql連接問題

string qstring = "Data Source=****;Initial Catalog=**;User ID=**;Password=**"; 
    SqlConnection con = new SqlConnection(qstring); 
    con.Open(); (exception thrown here) 

例外情況是:建立與SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (供應商:命名管道提供商,錯誤:40 - 無法打開連接到SQL Server)

Sql服務器是在不同的機器,我可以使用SqlDataSource對象連接例如我可以通過這種方式綁定網格。但我必須用SqlConnection對象連接

連接字符串是正確的,因爲我是從SqlDataSource的擁有它......

THX爲你的幫助..

回答

0

如果你已經顯示的代碼是你必須再我不驚訝你無法連接。

您需要在qstring中擁有正確的數據源,用戶名和密碼。因爲它代表星號字符並不意味着什麼。

新點 另外一個經常被遺忘的問題是,SQLConnection只能與Microsoft SQL Server一起使用。如果您的SQL由不同的製造商提供,請改爲使用OleDBConnection。

+0

我相信OP只是用佔位符替換了他的實際值... – 2009-09-17 10:36:56

+0

我在想這可能是這種情況,但你永遠無法確定。我曾經遇到過一個人,他們認爲他們可以複製並粘貼一個完整的asterix密碼字段。 – ChrisBD 2009-09-17 10:48:30

+0

@ChrisBD:這聽起來像是來自Dilbert連環漫畫的人:-) – 2009-09-17 12:31:56

3

您可能還想確保SQL Server設置爲接受遠程連接。 (對於sql2005配置工具 - >表面區域配置 - >服務和連接 - >數據庫,本地和遠程連接)

+0

,並且「命名管道」協議被激活和支持! – 2009-09-17 12:32:31

0

您的SQL服務器是否在同一臺機器上?如果是,請檢查SQL服務器服務是否正在運行,如果它位於不同的計算機上,請檢查您的開發計算機是否已與其連接。您可以ping通該計算機以驗證此情況。您也可以檢查表面區域連接嚮導來檢查SQL服務器是否支持遠程連接,如snomag所示