2010-08-22 2 views
1

При попытке написать простое приложение C# ADO.NET для подключения к моей базе данных и управления записями проекта для моего сайта, у меня возникла странная проблема, из-за которой я не могу найти никакой информации. Я проверял, что мой сервер MySQL принимает удаленные подключения, прослушивает порт 3306, правильно указано имя пользователя, равно как и пароль, и имя хоста разрешается правильно. Однако, когда вызывается SqlConnection.Open, я получаю бессмысленное исключение.Что вызывает ArgumentOutOfRangeException на SqlConnection.Open()?

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. Вы должны использовать MySqlConnection из «MySQL Connector/Net».

+0

Я должен был ожидать этого, но я надеялся, что они укажут MSSQL, если это так. Затем я переключусь на использование MySQL Connector/Net. Очень ценю сэр. –

Смежные вопросы