2013-03-24 12 views
0

Я использую MS Access как сервер для веб-приложения.
Поскольку я использую 64-битную ОС, я обновил путь к sysWOW64 в ODBC (Источники данных) ... Но я до сих пор я получаю сообщение об ошибке: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 Administrator» приложения ...

C:\Windows\System32\odbcad32.exe 64-б это приложение и

C:\Windows\SysWOW64\odbcad32.exe для 32-битного мира

... (да, называние действительно кажется немного назад), и на 64-разрядных машинах один вы можете видеть из Control Panel > Administrative Tools является 64 -битный.

Системные DSN, которые вы создаете в одном, не будут видны в другом. При настройке DSN для конкретного приложения вы должны «помнить свою собственную бит-нс». :)

+0

: Сэр, вы можете быть более сложным .. где мне нужно указать dsn..why ошибка приходит так? – Jayanth

+0

@Jayanth (1) re: «где мне нужно указать dsn» - вам нужно определить, работает ли ваше приложение в 32-разрядном или 64-битном пространстве, а затем запустить соответствующее приложение «Администратор ODBC» для создайте свой DSN. (2) re: «почему ошибка приходит так». Как я уже сказал, иногда 32-битные и 64-битные «миры» не могут видеть друг друга. Если вашему 32-битовому приложению требуется системный DSN, и вы создаете его в 64-битном «мире», ваше приложение не будет знать, что оно существует. –

0

Вопрос не столько в машине, сколько в 64-битной машине, это ваш бит JVM 64 бит. Если это так, используйте 64-битный администратор, если не использовать 32-битный (как вы знаете, где они оба).