Ручная установка 64-разрядных драйверов ODBC для доступа к MS Access при наличии 32-разрядного Office
Я хочу выполнить ручную установку драйверов odbc для MS Access 64 бит. Удаление 32-битного Office и установка 64-битного Office не является вариантом из-за надстроек, которые использует наша компания.
Я загрузил AccessDatabaseEngine_x64.exe и с помощью WinRar и Universal Extractor удалось распаковать все файлы в каталог temp. Я считаю, что у меня есть все необходимые файлы, но я немного не уверен, куда идти отсюда, и я бы оценил небольшое руководство.
Какие DLL должны быть зарегистрированы, чтобы обеспечить доступ к ODBC-драйверам MS Access в 64-разрядном администраторе ODBC?
Есть ли список записей реестра, которые мне нужно будет сделать, чтобы он был доступен?
Кто-нибудь еще имел дело с этим разумным образом?
Заранее благодарю вас!
Ответы
Ответ 1
с помощью /passive switch вы можете установить 64-разрядные драйверы ace, даже если присутствует 32-разрядный офис ms:
http://blog.codefluententities.com/2011/01/20/microsoft-access-database-engine-2010-redistributable/
Просто следует предупредить, что установка 64-разрядного ACE-механизма 2010 на машине с установленным 32-разрядным Office 2010, установленным Microsoft, может привести к некоторому дурацкому поведению в уже существующем Office 2010.
Ответ 2
Я столкнулся с этой же проблемой с приложением SpringJDBC, которое подключилось к БД доступа, когда я поместил его в поле win7x64, на котором запущен кеплер eclipse-4.3x64.
Для меня все закончилось, чтобы ПОЛНОСТЬЮ удалить 32-битные Office2010 [и Lync и другие приложения MS, привязанные к этому] и установить 64-битные версии.
Здесь действительно интересная часть: имя драйвера, к которому вы используете для имени драйвера Access64bit, теперь:
| Microsoft Access Driver (*.mdb, *.accdb) |
Да, это запятая после "mdb".
Итак, мой spring -config для источника данных выглядит так:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
lazy-init="default"
autowire="default"
dependency-check="default">
<property name="driverClassName"
value="sun.jdbc.odbc.JdbcOdbcDriver"/>
<property name="url"
value="jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=/Data/dbs/cl97_2k.mdb;"/>
<!-- Above is Access 64bit Driver Reference -->
<!-- Below is the Access 32bit Driver Reference.
value="jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=/Data/dbs/cl97_2k.mdb;"/>
-->
<property name="username" value=""/>
<property name="password" value=""/>
</bean>
Надеюсь, что это поможет!
Ответ 3
Мне удалось установить оба без побочных эффектов на установку Office и без использования/пассивного варианта. Даунсайд - это то, что проверено и работает только на одной версии Office. Драйвер Microsoft.ACE.OLEDB.12.0 для приложения x64 - как заставить его работать с установленной x86 MS Office?