2013-03-24 5 views
0

MS Access를 웹 응용 프로그램의 백엔드로 사용하고 있습니다. 내가 64 비트 OS를 사용하고 있기 때문에
, 나는 ODBC (데이터 소스)에 sysWOW64의 경로를 업데이트 한 ...하지만 난 아직도 오류 얻을 :MS Access ODBC 연결

org.apache.jasper.JasperException: javax.servlet.ServletException: 
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

내가 사용하는 코드는 다음과 같습니다

String database="G:\\databs.mdb"; 
String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + database+";DriverID=22;READONLY=true"; 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con=DriverManager.getConnection(url,"",""); 
Statement stmt=con.createStatement(); 

답변

0
귀하의 질문은 이미 sysWOW64 서브 시스템을 알고, 그래서 64 비트 Windows 시스템에서 두 개의 "ODBC 관리자"응용 프로그램이 있다는 것을 염두에 두어야 것을 알 수

...

C:\Windows\System32\odbcad32.exe 64-B에 대한 32 비트 세상을위한 IT 애플리케이션 및

C:\Windows\SysWOW64\odbcad32.exe

(예, 이름이 뒤로 약간 보일 않습니다), 64 비트 시스템에서 당신이 Control Panel > Administrative Tools에서 볼 수있는 사람은 64 입니다 ~ 하나.

사용자가 만든 시스템 DSN은 다른 시스템에서 볼 수 없습니다. 특정 응용 프로그램에 대해 DSN을 구성 할 때는 "자신 만의 비트 - 마음"을 가져야합니다. :)

+0

: 선생님 더 정교 할 수 있습니다 .. 어디에서 dsn을 지정해야합니까? 왜 오류가 발생합니까? – Jayanth

+0

@Jayanth (1) re : "어디에서 dsn을 지정해야합니까?"- 응용 프로그램이 32 비트 또는 64 비트 공간에서 작동하는지 확인한 다음 해당 "ODBC Administrator"응용 프로그램을 실행하여 DSN을 만드십시오. (2) 다시 : "왜 오류가 오는지"- 내 대답에 따르면 32 비트와 64 비트의 "세계"는 서로를 볼 수없는 경우가 있습니다. 32 비트 응용 프로그램에 시스템 DSN이 필요하며 64 비트 "세계"에서 응용 프로그램을 만들면 응용 프로그램은 해당 응용 프로그램이 존재 함을 알 수 없습니다. –

0

질문은 기계 64 비트가 아니므로 JVM 64 비트입니다. 그렇다면 32 비트를 사용하지 않는다면 64 비트 관리자를 사용하십시오 (둘 다 알고있는 것처럼).

관련 문제