2012-02-19 4 views
2

java se를 사용하는 응용 프로그램을 가지고 있으며 코딩 중에 localhost에 mysql workbench를 설치했지만 모든 것이 정상적으로 작동합니다. 이제 사람들이 사용할 수 있도록 jar 파일을 배포해야합니다. 하지만 데이터베이스에 액세스하려고하면 연결 오류가 발생합니다. 데이터베이스 경로에서 localhost를 데이터베이스가있는 컴퓨터의 IP로 바꿨습니다. 누군가 나를 도울 수 있었습니까? 아시다시피Java 응용 프로그램 : 다른 컴퓨터에서 데이터베이스에 액세스

덕분에 많은

+0

전체 오류 메시지를 게시 할 수 있습니까 ??? –

+2

데이터베이스 서버를 ping하거나 텔넷하여 연결할 수 있는지 확인해야합니다. –

+0

원격 호스트에서 데이터베이스 액세스 권한을 확인하십시오. – Santosh

답변

1
  1. 은 일반적으로 JDBC를 들어, 당신은 당신의 연결 문자열에서 호스트를 지정해야합니다.

  2. 일반적으로 Class.forName()에서 드라이버를 지정하고 Java CLASSPATH에서 드라이버의 .jar 디렉토리를 지정합니다.

  3. 아마도 MySql/J 커넥터를 사용하고있을 것입니다. 귀하의 응용 프로그램과 함께 배포해야하는 클라이언트가 모두 있다고 생각합니다.

  4. 또한 mySql 포트 (기본값 3306)가 열려 있는지 확인해야합니다.

  5. "사용자"는 호스트별로 정의되고 허가됩니다. 또한이 설정이 "Users"mysql 테이블에 올바르게 설정되어 있는지 확인해야합니다.

  6. 응용 프로그램이 사용 가능한 모든 예외 정보를 기록하는지 확인하십시오. 여기에 특정 오류 메시지를 게시하십시오.

    을하는 데 도움이

'희망

PS : "MySQL의 워크 벤치'의 유일한 관련성이 앱이 당신이 올바른 MySQL의 워크 벤치를 사용하여 로컬로 실행하면 작동하는 일이다? 그렇다면이 질문에 대한 좋은 태그가 아닐 것입니다 ...

+0

1. 확인 2. Class.forName ("com.mysql.jdbc.Driver"); 난 내 응용 프로그램에서 사기꾼 = DriverManager.getConnection를이 코드가있는 경우 3. 4. 그래서 – koool

1

admin 사용자로 DB에서 쿼리를 실행하십시오.

GRANT ALL ON db1 TO 'jeffrey'@'%'; 

db1는 스키마이고 jeffrey 당신에 대한 액세스 권한을 부여 할 사용자라고 가정.

+0

를 수행 횟수 ( "JDBC를 : mysql을 : // IP/DB1을?"+ "사용자 = 제프리 및 암호 ="); 제대로 작동해야합니까? – koool

+1

예. 그것은 작동해야합니다. – Santosh

+0

위의 설명에서 ping을 시도했는데 요청에 실패했는데 그 해결책이 무엇이겠습니까 ?? – koool

관련 문제