Преобразовать доступ к PostgreSQL? - PullRequest
13 голосов
/ 12 марта 2009

Клиент перерос свою базу данных Access, и теперь мне нужно преобразовать ее в PostgreSQL. У меня нет большого опыта работы с Access, поэтому на первый взгляд кажется, что лучшее решение - просто экспортировать данные, используя текстовые файлы или что-то в этом роде.

Есть ли у кого-нибудь хорошие предложения относительно простого способа вывести DDL и данные из Access в нечто настоящее?

Ответы [ 4 ]

2 голосов
/ 13 марта 2009
  • Установите драйвер Postgres ODBC на компьютер с Windows.
  • Создание источника данных с драйвером «PostgreSQL Unicode» для вашей новой базы данных
  • Для каждой таблицы:
    • Используйте «Файл -> Экспорт», выберите тип «Базы данных ODBC»
    • Подтвердите имя таблицы
    • Выберите «Источник компьютерных данных».
    • Выберите источник данных

Хорошо работает, если у вас не слишком много таблиц. Мне нужно было автоматизировать это, поэтому я создал сценарий VBS, который просто своевременно выполняет нажатия клавиш, например:

set shell=CreateObject("Wscript.Shell")
shell.Run("db1.mdb")
WScript.Sleep(5000);

shell.sendkeys("tablename1");
WScript.Sleep(1000);
shell.sendkeys("%fx"); ' Menu File, Export
WScript.Sleep(1000);
shell.sendkeys("%todbc"); ' Type: ODBC Databases
shell.sendkeys("~"); ' Enter

и т.д.

1 голос
/ 12 марта 2009

Вы должны быть в состоянии написать что-то, что может видеть их оба с помощью ODBC или чего-то еще, но при этом вы не сможете вывести его в текстовый файл или использовать коммерческий инструмент .

0 голосов
/ 14 марта 2009

Взгляните на инструмент из http://dbconvert.com/convert-access-to-postgresql-pro.php?DB=1

0 голосов
/ 12 марта 2009

Это старый скрипт, который я не обновлял некоторое время, но я использовал для аналогичной цели: http://code.activestate.com/recipes/52267/

Еще один коммерческий вариант: http://www.datanamic.com/dbzipper/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...