2013-05-03 2 views
0

이 처리되지 않은 예외를 해결하기위한 많은 제안을 찾았으며 찾을 수있는 모든 것을 시도했습니다. 몇 시간이 걸렸지 만 여전히 결과가 없습니다 ... 클라이언트 정보를 묻는 창 양식 응용 프로그램을 만들었고 MySQL에서 만든 DB에이 정보를 삽입하려고합니다.은 지정된 MySQL 호스트에 연결할 수 없습니다. C#

MySql.Data.MySqlClient.MySqlException (0X80004005) : 지정된의에 연결할 수 없습니다

public partial class Form1 : Form 
{ 

    private MySqlConnection mConn; 
    public Form1() 
    { 
     InitializeComponent(); 
     mConn = new MySqlConnection("Persist Security Info=False; server=localhost; database=xxxxxxx;uid=yyyyyyy;password=zzzzzzzz"); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     mConn.Open(); 
     if (mConn.State == ConnectionState.Open) 
     { 
      MySqlCommand command = new MySqlCommand("INSERT INTO client VALUES (" + textBox1.Text + ",' " + textBox2.Text + "', '" + textBox3.Text + "'," + textBox4.Text + ",' " + textBox5.Text + "')", mConn); 
      command.ExecuteNonQuery(); 
      mConn.Close(); 
     } 
     else 
      MessageBox.Show("Connection Failed!"); 
    } 
} 

이 예외 텍스트입니다 :이 보인다 코드가 모두를 위해 작동하지만, 나 할 것입니다 MySQL 호스트. ---> System.Net.Sockets.SocketException (0x80004005) : 요청 된 주소가이 컨텍스트에서는 유효하지 않습니다. [:: 1] : 3306 in ...

내가 도와 드릴 수 있으면 기분 좋은. 그것은 내 첫해 프로그램이고 지금까지 꽤 잘 통과했지만, 지금은이 반복적 인 오류로 인해 수업에 "뒤쳐져"있습니다. 미리 감사드립니다.

+2

SQL 인젝션 취약점이 있습니다. – SLaks

+0

커맨드 라인 유틸리티를 통해 MySQL을 가져올 수 있습니까? 그렇지 않은 경우 오류 메시지를 따르십시오. MySQL 서비스가 실행되지 않는 것처럼 간단 할 수 있습니다 (Windows에있는 경우). 명령 줄을 통해 연결할 수 있다면 [이 StackOverflow 게시] (http://stackoverflow.com/questions/4655669/unable-to-connect-to-any-of-the-specified-mysql-hosts)를 확인하십시오. 귀하의 문제와 유사합니다. 특히 MySQL이 어느 포트를 청취하는지 결정하는 방법을 보여주는 허용 된 솔루션 아래의 주석을 주목하십시오. –

+0

예 커맨드 라인 유틸리티를 통해 MySQL을 가져올 수 있습니다. 그리고 나는 이미 연결 문자열에 포트 번호를 포함 시키려고했습니다. 사실 많은 다른 연결 문자열을 시도했습니다. MySQL 명령 줄을 통해 포트 번호를 확인할 수 있었고 예외가 해당 포트에 대한 방화벽에서 생성되었는지 확인했습니다. –

답변

3

교수님이 문제를 발견했습니다. 어떤 이유로 컴퓨터가 로컬 호스트라는 용어를 IP 주소 127.0.0.1로 인식 할 수 없으므로 연결 문자열에 서버 = localhost을 쓸 때 오류가 발생했습니다. 쓰기를 시도했을 때 서버 = 127.0.0.1 모든 것이 원활하게 작동했습니다. 이것이 도움이되기를 바랍니다.

근무 연결 문자열 :

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

제 경우에는 작동하지 않습니다 ... 죄송합니다 ... –

0

원격 사이트에 대한 연결을 설정의 문제점은 그 대신 개인 하나)의 DB (공용 IP를 제공함으로써 해결 될 것입니다.

도움이 될 것입니다. 사용해보기.

관련 문제