MySQL 데이터베이스를 사용하여 데이터를 저장하는 C# (.NET 4.0) 응용 프로그램을 만듭니다. 이 데이터베이스는 타사 회사의 서버에 설치되며 응용 프로그램은 현재 도메인 이름 (myname.home.pl)으로 원격으로 연결해야합니다.C# MySQL - 원격 연결
또한 동일한 데이터베이스를 사용하는 웹 사이트가 있으며이 웹 사이트는 동일한 서버에 있으므로 localhost가 DB에 연결합니다.
웹 사이트는 항상 올바르게 작동하며 연결에 문제가 없습니다.
일반적으로 C# 응용 프로그램도 성공적으로 연결되지만 연결이 열리지 않을 수 있으며 연결 시간 초과 후 "지정한 MySQL 호스트 중 하나에 연결할 수 없습니다"오류가 반환됩니다. 나는 그러한 오류의 원인이 무엇인지 모릅니다.
이 문제는 Windows XP 및 Windows 7에서 발생하며 다른 OS 버전은 테스트하지 않았습니다.
연결 문자열 형식 다음에 (SQLDATA 구조체는 로그인 데이터를 포함) :
connection.ConnectionString = String.Format(
"server={0};database={1};user='{2}';password='{3}';",
sqlData.Server,
sqlData.Catalog,
sqlData.User,
sqlData.Password
);
내가 유래에이 오류에 대한 몇 가지 주제를 찾을 것이 아니라 해결되지했습니다 ...
사람이 있었나요 비슷한 문제? 그 이유가 무엇일까요? 또는 어떻게하지 않을 수 있습니까?
어떤 도움을 주셔서 감사합니다.
예외 (오류 코드, 기타 내부 예외) 및 서버 측 로그를 확인해야합니다. 이렇게 ... 안개 속에서 총을 맞고 있습니다. 일반적으로 인터넷을 통해 이동하는 경우 try/retry 패턴을 설정해야합니다 (더 짧은 시간 제한으로 첫 번째 시도). –
Liekly 네트워크 관련 – Tsukasa
exc.ToString()은 다음 정보 만 제공합니다. \t MySql.Data.MySqlClient.MySqlException (0x80004005) : 지정된 MySQL 호스트 중 하나에 연결할 수 없습니다. MySql.Data.MySqlClient.Driver.Create에서 MySql.Data.MySqlClient.Driver.Open() 에서 MySql.Data.MySqlClient.NativeDriver.Open() (MySqlConnectionStringBuilder 설정) 에서 MySql.Data.MySqlClient.MySqlPool에서 MySql.Data.MySqlClient.MySqlConnection.Open에서 MySql.Data.MySqlClient.MySqlPool.GetConnection()에서 MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()에서 .GetPooledConnection() () – user3860515