2012-05-16 16 views
0

java 프로그램이 mdb 데이터베이스 파일에 연결되어 있습니다. 이클립스에서 잘 작동합니다. 이제 프로그램을 jar 파일로 내 보냅니다. 지금 프로그램을 시작하고 동일한 파일에 액세스하려는 경우 메시지가 표시됩니다.java jar 파일에서 MDB에 연결 File - Failure

데이터 소스 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다.

이미 Windows에서 데이터베이스를 ODBC-source로 등록했지만 작동하지 않습니다. 데이터베이스 경로는 Eclipse와 jar 파일에서 동일합니다. 항아리에서 외부 소스에 액세스하는 데 문제가 있습니까? 어떤 제안?

+0

왜 ODBC를 사용할 때 db에 대한 경로가 필요합니까? – Satya

+0

연결 결과 = \t을 사용하고 있습니다. DriverManager.getConnection (url, username, password); Java에서 데이터베이스에 연결하려면 url = jdbc : odbc : Driver = {Microsoft Access Driver (* .mdb)}, DBQ = C : /xx/xx/Desktop/gfs-tmp/DB5.MDB –

+0

시도해 볼 수 있습니까? 이 간단한 코드로 연결 결과 = \t DriverManager.getConnection ("jdbc : odbc : ",,); 그리고 그것이 작동하는지 확인 – Satya

답변

0

.jar 모드에서 64 비트, Eclipse 모드에서 32 비트의 다른 버전의 Java를 사용하는 것으로 보입니다. ProcessExpliorer 또는 다른 유사한 도구를 사용하여이를 확인할 수 있습니다. 에 따르면 : http://www.selikoff.net/2011/07/26/connecting-to-ms-access-file-via-jdbc-in-64-bit-java/

Access 데이터베이스에 연결 문자열이 32 비트 및 64 비트 환경에서 다른 것 같습니다. 32 비트에서는 사용할 수 있습니다

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};... 

64 비트에서 :

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};... 

난 당신이 모두를 시도하고 (모두가 작동하지 않는 경우 던져 예외) 먼저 작업을 사용할 수 있다고 생각합니다. 이 방법으로 애플리케이션은 32 비트 및 64 비트 JRE에서 모두 작동 할 수 있습니다.

당신은 이클립스와 .jar 모두 동일한 JRE를 사용하는 경우 :

는 ODBC 관리자에서 "추적"탭이

. 추적 기능을 활성화하고 Eclipse에서 애플리케이션을 실행하십시오. 이 추적 로그를 저장 한 후 .jar 응용 프로그램에서 추적 로그를 작성하십시오. 두 가지 추적을 비교하십시오.

관련 문제