У меня есть программа, которая при компиляции с использованием 32-разрядной JVM работает нормально, но имеет проблемы, если я пытаюсь использовать 64-битную JVM. Сообщение, которое я получаю: "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
.Проблемы с драйверами Java 64-разрядных JDBC-ODBC
Я пытаюсь подключиться к базам данных Excel и SQL Server с помощью кода вроде следующего:
String file = directory + "/fileName.xlsm";
String connectStr= "jdbc:odbc:DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + file + ";READONLY=false";
try {
Class.forName(getDriver());
gConnection = DriverManager.getConnection(connectStr);
//do stuff with connection
}
Когда я попытался проверить менеджер драйверов он не кажется, имеют 64-битную версию драйверов , Любой способ исправить это легко и иметь возможность подключаться с использованием 64-битных драйверов без ручного изменения настроек на компьютере (так как эта программа будет распространяться на нескольких компьютерах, и я не хочу, чтобы загружать драйвер отдельно навсегда, компьютер, который хочет запустить его)? Кроме того, можно ли более эффективно подключаться с использованием 64-битных драйверов или 32-разрядных так же хорошо/быстро (у меня есть очень большие наборы данных, поэтому небольшие различия будут иметь значение)?
какая версия Excel? до Office 2010 драйверы были только 32 бит. – vulkanino
о, извините. это тоже 2010. Microsoft Office 32-битный, но я полагаю, что все еще можно использовать 64-битные драйверы? – scaevity
попробуйте это: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255#Overview – vulkanino