2017-09-14 4 views
0

예외로 'XX'호스트는이 MySQL 서버에 연결할 수 없습니다. 나는 VB.Net을 사용하고 있는데, MySQL에 연결하는 Connect.vb 클래스가 있으며 쿼리가 존재하지 않는다면 데이터베이스를 생성한다.호스트 연결이 허용되지 않음

MySqlConnection conn = new MySqlConnection("server=localhost;uid=root;pwd=root;"); 
     MySqlCommand pst = new MySqlCommand(); 
     try 
     { 
      conn.Open(); 
      pst.Connection = conn; 
      pst.CommandText = "CREATE DATABASE IF NOT EXISTS StocksManagerDB"; 
      pst.ExecuteNonQuery(); 
      conn.Close(); 
      conn = new MySqlConnection("server=localhost;database=StocksManagerDB;uid=root;pwd=root;"); 
      conn.Open(); 
      conn.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Failure to connect to database.\nApplication will now exit.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      conn.Close(); 
      Application.Exit(); 
     } 

데이터베이스 작성 쿼리가 올바르게 실행됩니다. 하지만 로그인 양식에 로그인하면 예외가 발생합니다. 나는 이미 this을 시도했지만 여전히 동일한 예외를 제공합니다. 이것은 로그인을위한 코드입니다. 로드 이벤트에서 나는이

conn = Connect.ConnectDB() 

를 넣어이 코드 때 로그인에 button_click 이벤트

conn.Open(); 
      pst.CommandText = "SELECT * FROM tblLogin WHERE `Username` ='" + txtUsername.Text + "' AND `Password` ='" + txtPassword.Text + "'"; 
      rs = pst.ExecuteReader(); 
      if (rs.Read() == true) 
      { 
       Login_Success(); 
      } 
      else 
      { 
       MessageBox.Show("Login Failed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
       txtUsername.Clear(); 
       txtPassword.Clear(); 
       txtUsername.Focus(); 
      } 
      conn.Close(); 
+0

코드를 이미지로 게시하지 마십시오. Strg + K를 사용하고 코드를 질문에 복사하십시오. –

+0

@RodKimble 게시물을 편집했습니다. 제발 좀 봐주세요. 고맙습니다. – Ajax

+0

로그인 폼에서 데이터베이스에 액세스하는 코드를 게시 할 수 있습니까? 오류 위치는 어디입니까? 위와 같을 수는 없습니다 (다른 이유는 무엇입니까?) –

답변

0

열기 MySQL의 워크 벤치 FO. 사용자와 권한을 이동하십시오. 사용자의 호스트를 '%'로 바꿉니다. 대신 root 계정을 사용하여 사용자를 생성하십시오. 하단의 계정 추가를 클릭하십시오. 필요한 정보를 입력하십시오. 그런 다음 탭 스키마 권한을 클릭하십시오. 항목 추가를 클릭하고이 사용자가 수행하고 액세스 할 수있는 모든 항목을 추가하십시오. 앱의 사용자/비밀번호를 사용하십시오.

어쨌든 mysql 보안에 대해 조금 읽어야 할 수도 있습니다. 필요한 시간을 보내십시오.

또한 쿼리에 매개 변수를 넣어 쿼리를 작성하고 싶지 않습니다. SQL 주입 공격에 대해 읽어보십시오.

관련 문제