在試圖編寫一個簡單的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
的值。任何幫助,將不勝感激。
我應該預料到的,但我希望他們會指定MSSQL,如果是這樣的話。然後我將切換到使用MySQL Connector/Net。非常感謝先生。 – 2010-08-22 17:44:10