MySQL 연결에 이상한 문제가 있습니다. 내 환경입니다디버그 모드에서 MySQL 연결이 실패합니다.
OS - 마이크로 소프트 윈도우 홈 베이직
IDE - SharpDevelop 4.3.3.9663MySQL 서버 -
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)에서 힌트를 얻었으며 릴리스 모드로 시도했습니다. 놀랍게도 그것은 연결을 열 수있었습니다!
나는 그것을 더 분석하고 아래 사항을 발견했다.
- Debug-> Step Over (단계별 디버깅을 위해 F10 키 사용)를 사용하는 경우에만 오류가 발생합니다!
- 방금 디버그 모드로 앱을 시작하면 앱이 연결됩니다.
- "connect()"메서드의 위와 아래에 단계를 나눌 수 있습니다.
- 응용 프로그램의 다른 부분을 디버깅하는 데 단계 오버를 사용할 수도 있지만이 단계를 건너 뛸 경우 메서드를 호출하면 오랜 시간이 걸리고 같은 오류가 발생합니다.
내가 잘못하고 있는지, 아니면 MySQL 또는 SharpDevelop의 버그인지 확실하지 않습니다. 이런 종류의 문제에 직면 한 사람이 있습니까? 가능하다면, 누군가 이것에 대해 어떤 생각을 던지시기 바랍니다.
감사합니다, 가네 Periasamy
표준 형식을 따라야합니다. http://www.connectionstrings.com/mysql-connector-net-mysqlconnection/ – Kapil
"Persist ..."를 시도했지만 행운은 없습니다. 하나의 업데이트 - MySql 5.5를 제거하고 Wamp를 설치했으며 MySQL 서버를 사용하여 연결했습니다. 이제 얻을 수 있습니다. System.ArgumentOutOfRangeException : 길이가 0보다 작을 수 없습니다. 문자열 System.String.InternalSubStringWithChecks (선택 System.Int32 시작 인덱스, 선택 System.Int32 길이, 선택 System.Boolean fAlwaysCopy) .... 한심한 :( –
다시 내가 Degbugger없이 실행 "으로 프로그램을 시작하면 (Ctrl + F5에서 ) "sharpdevelop에서, 그것은 잘 작동합니다! –