2010-08-22 70 views
1

在試圖編寫一個簡單的C#ADO.NET應用程序來連接到我的數據庫並管理我的網站的項目條目時,我遇到了一個奇怪的問題,我找不到任何有關的信息。我已驗證我的MySQL服務器正在接受遠程連接,在端口3306上偵聽,所提供的用戶名是有效的,密碼也是如此,並且主機名正確解析。但是,當調用SqlConnection.Open時,我收到一個無意義的異常。是什麼導致SqlConnection.Open()上的ArgumentOutOfRangeException?

System.ArgumentOutOfRangeException是需要未處理

非負數。

參數名:算

下面是調用表示錯誤代碼,特別是在電話會議中m_ActiveConnection.Open()

static public void OpenConnection(CConnectionDescription ConnectionDescription) 
{ 
    try 
    { 
     SqlConnectionStringBuilder ConnectionStringBuilder = new SqlConnectionStringBuilder(); 
     ConnectionStringBuilder.DataSource = ConnectionDescription.Address + "," + ConnectionDescription.PortNumber; 
     ConnectionStringBuilder.UserID = ConnectionDescription.UserName; 
     ConnectionStringBuilder.Password = ConnectionDescription.Password; 
     ConnectionStringBuilder.NetworkLibrary = "DBMSSOCN"; 

     if (m_ActiveConnection != null) 
     { 
      if (m_ActiveConnection.State != System.Data.ConnectionState.Closed) 
      { 
       m_ActiveConnection.Close(); 
      } 
      m_ActiveConnection.ConnectionString = ConnectionStringBuilder.ConnectionString; 
     } 
     else 
     { 
      m_ActiveConnection = new SqlConnection(ConnectionStringBuilder.ConnectionString); 
     } 
     m_ActiveConnection.Open(); 
     m_ActiveConnectionDescription = ConnectionDescription; 

     if (ConnectionChanged != null) 
     { 
      ConnectionChanged(); 
     } 
    } 
    finally 
    { 
     // Error message 
    } 
} 

什麼會導致此異常?我沒有傳遞任何參數來打開和ConnectionString似乎完全有效。我檢查了我自己的CConnectionDescription的值。任何幫助,將不勝感激。

回答

3

據我所知,SqlConnection用於連接到SqlServer數據庫。你應該使用「MySQL Connector/Net」中的MySqlConnection。

+0

我應該預料到的,但我希望他們會指定MSSQL,如果是這樣的話。然後我將切換到使用MySQL Connector/Net。非常感謝先生。 – 2010-08-22 17:44:10

相關問題