e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
2.7 KiB
Markdown
19 lines
2.7 KiB
Markdown
---
|
|
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, затем повторяется попытка соединения через оба драйвера.
|
|
Этот механизм работает, хотя время импорта ниже чем при обычном подключении.
|
|
Пример использования...
|