2014-02-14 3 views
0

MySQL 연결에 이상한 문제가 있습니다. 내 환경입니다디버그 모드에서 MySQL 연결이 실패합니다.

OS - 마이크로 소프트 윈도우 홈 베이직
IDE - SharpDevelop 4.3.3.9663

MySQL 서버 -

6.8.3 나는 샘플 프로그램을 작성 - 5.5
MySQL의 커넥터 내 컴퓨터의 MySQL 서버에 연결합니다.

using System; 
using MySql.Data.MySqlClient; 

namespace TestBed 
{ 
    class Program 
    { 
     private static MySql.Data.MySqlClient.MySqlConnection conn; 
     public static void Main(string[] args) 
     { 
      Console.WriteLine("Hello World!"); 

      connect(); 

      Console.Write("Press any key to continue . . . "); 
      Console.ReadKey(true); 
     } 

     public static void connect() 
     { 

      string myConnectionString; 

      //myConnectionString = "Server=localhost; Port=3306; Database=test; Uid=root; Pwd=Welcome01;"; //works fine in rel mode 
      myConnectionString = "Server=127.0.0.1; Port=3306; Database=test; Uid=root; Pwd=Welcome01;"; 

      try 
      { 
       conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); 
       conn.Open(); 
       Console.WriteLine("opened"); 
      } 
      catch (MySql.Data.MySqlClient.MySqlException ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
     } 
    } 
} 

처음에는 아래 오류가 표시되었습니다.

이 링크 (Cant connect to MySQL when using Debug mode)에서 힌트를 얻었으며 릴리스 모드로 시도했습니다. 놀랍게도 그것은 연결을 열 수있었습니다!

나는 그것을 더 분석하고 아래 사항을 발견했다.

  1. Debug-> Step Over (단계별 디버깅을 위해 F10 키 사용)를 사용하는 경우에만 오류가 발생합니다!
  2. 방금 ​​디버그 모드로 앱을 시작하면 앱이 연결됩니다.
  3. "connect()"메서드의 위와 아래에 단계를 나눌 수 있습니다.
  4. 응용 프로그램의 다른 부분을 디버깅하는 데 단계 오버를 사용할 수도 있지만이 단계를 건너 뛸 경우 메서드를 호출하면 오랜 시간이 걸리고 같은 오류가 발생합니다.

내가 잘못하고 있는지, 아니면 MySQL 또는 SharpDevelop의 버그인지 확실하지 않습니다. 이런 종류의 문제에 직면 한 사람이 있습니까? 가능하다면, 누군가 이것에 대해 어떤 생각을 던지시기 바랍니다.

감사합니다, 가네 Periasamy

답변

0

좋아. 이것은 SharpDevelop Debugger (http://community.sharpdevelop.net/forums/t/16473.aspx)에서 버그로보고되었지만 SharpDevelop 팀에서 약 1 년 동안 응답이 없습니다! 나는 이것들을 따라 가며이 글을 업데이트하려고 할 것이다.

0

이 시도 ..

"Persist Security Info=False;server=127.0.0.1;database=xx;uid=yy;password=zz" 
+0

표준 형식을 따라야합니다. http://www.connectionstrings.com/mysql-connector-net-mysqlconnection/ – Kapil

+0

"Persist ..."를 시도했지만 행운은 없습니다. 하나의 업데이트 - MySql 5.5를 제거하고 Wamp를 설치했으며 MySQL 서버를 사용하여 연결했습니다. 이제 얻을 수 있습니다. System.ArgumentOutOfRangeException : 길이가 0보다 작을 수 없습니다. 문자열 System.String.InternalSubStringWithChecks (선택 System.Int32 시작 인덱스, 선택 System.Int32 길이, 선택 System.Boolean fAlwaysCopy) .... 한심한 :( –

+0

다시 내가 Degbugger없이 실행 "으로 프로그램을 시작하면 (Ctrl + F5에서 ) "sharpdevelop에서, 그것은 잘 작동합니다! –

관련 문제