2010-08-22 2 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 사용으로 전환 할 것입니다. 많이 고맙습니다. –

관련 문제