---
title: "Инструкция по работе через ODBC с базами данных ACCESS в 64-разрядных приложениях"
type: interface
api: [api7]
tags: [interface, api7, instruction]
sources:
  - instruction_acces.html
---

*Создание прикладных библиотек  > Рекомендации по созданию прикладных библиотек *

В случае, если при запуске под КОМПАС-3D x64 библиотека не может открыть свою ACCESS-базу, рекомендуется установить драйверы ODBC для x64 (Microsoft.ACE.OLEDB.12.0)http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255. По умолчанию в ОС x64 они не установлены.
Для установки 64-разрядных драйверов требуется удалить 32-разрядные. Одновременно они работать не могут (см. http://msdn.microsoft.com/ru-ru/library/office/ff965871.aspx#DataProgrammingWithAccess2010_using32vs64ace. Соответственно и 32-разрядные приложения не могут работать с ODBC. Если установлена 32-разрядная версия приложения Microsoft Office, то требуется удалить и его.
В КОМПАС-3D для решения проблемы используется вспомогательный 32-разрядный exe-файл Wow32Util.exe, находящийся в каталоге Bin 64-разрядного КОМПАСа. Его назначение - создавать 32-разрядные интерфейсы, используя 32-разрядные драйверы.
Работает следующим образом:
64-разрядный КОМПАС сначала пытается сам создать нужный интерфейс через CoCreateInctance и выполнить соединение через Microsoft.ACE.OLEDB.12.0 и Microsoft.Jet.OLEDB.4.0. Если это не получается, то через CoCreateInctance поднимается Wow32Util.exe и в интерфейсе, реализованном в данной утилите, вызывается функция создания нужного интерфейса, куда передается нужный classID или GUID, затем повторяется попытка соединения через оба драйвера.
Этот механизм работает, хотя время импорта ниже чем при обычном подключении.
Пример использования...
