Перепечатка со ссылки http://book.by.ru/cgi-bin/book.cgi?book … 1008732614 /admin/
Встроенные в Автокад средства работы с БД мне (да и многим другим) очень не нравятся. Убого это все. Отметились, что есть такая возможность и успокоились. Подразумевалось, что кто-то будет писать собственные "драйверы" для различных БД.
.
При создании ГИС мы сделали так:
1. Написали собственный "DataBase Desktop". Это Win-приложение, которое работает с любыми БД, которые понадобятся (хоть через BDE, хоть через ODBC, хоть напрямую). И делает с ними все, что угодно.
2. Взаимоотношения с Автокадом заключаются в том, что
а)DBD может принять данные из Автокада и переправить их в БД
б)Может получить из Автокада координаты объектов
в)Может заставить Автокад показать местоположение объектов из БД
г)Может экспортировать данные в Автокад и заставить его нарисовать объекты из БД
.
Связка БД-Автокад заключается в том, что у примитивов имеются расширенные данные, в которых указано имя таблицы и уникальный код записи. Эта связка поддерживается автоматически. Лиспом. А сам Автокад никаких соединений с БД не делает.
.
Чтобы работать с mdb напрямую надо, очевидно, сделать собственную программу для прямого доступа, минуя ODBC. На Delphi, например, это сделать просто - имеется много компонентов прямого доступа.
.
А потом написать на Лиспе соответствующую связку. Программа работы с mdb должна иметь соответствующий функционал, например "втихую" получать от Лиспа команду на выполнение SQL-запроса. Запрос лучше передавать через файл.
.
Все это можно реализовать и в виде DLL.