Появилась задача — разработать приложение, автоматизирующее довольно объемную предметную область и хранящее данные в MS Access. БД была создана в PowerDesigner, но перенос данных непосредственно в Access оказался сопряжен с трудностями.
Отвечая на вопрос, поставленный в заголовке статьи, можно сказать, что напрямую и без костылей — практически никак.
Если следовать классическому алгоритму генерации SQL-скрипта в PowerDesigner и выбрать при создании физической модели (с последующим созданием скрипта crebas) в качестве СУБД Microsoft Access 20xx, то в конечном итоге вы потерпите неудачу.
Потому что среда PowerDesigner сгенерирует совершенно нерабочий код с неадекватным SQL, в котором, к примеру, вместо CREATE TABLE будет написано «CreateTble» и т.п.
Данный код непригоден к исполнению в MS Access и будет выдавать ошибки.
Есть метод создания конечного файла (не скрипта) с БД прямо из PowerDesigner. Он показан в видеоролике.
Но нам он, к сожалению, не помог. В получившемся .mdb-файле отсутствовало половина таблиц и они не были созданы потому что «использовались слишком длинные типы данных».
Из данной ситуации был найден выход с использованием посредника в виде — MS SQL Server.
Сначала мы сгенерировали и создали БД в нем, а затем импортировали базу в Access с помощью встроенного инструмента импорта ODBC-баз в программе.
Импорт прошел без каких-либо ошибок, единственное — пришлось немного подкорректировать типы данных.
Поделиться в соц. сетях: