2011-01-12 3 views
0

Мне поручено преобразовать очень старый сайт Postges/PERL в SQL Server/C#.Настройка подключения ODBC к Postgres

Я установил текущую версию Postgres на свой рабочий стол и импортировал большую часть данных из старой базы данных (вырезать и вставить).

Теперь я пытаюсь подключиться к этой базе данных с помощью Visual Studio 2008/C#.

Я загрузил как 32, так и 64-разрядные драйверы psglODBC Postgres. Я могу успешно создать и протестировать пользовательский DSN с помощью 64-битных драйверов, но при попытке создать соединение ODBC я получаю сообщение об ошибке: «Не удалось найти точку входа с именем« InterlockedIncrement »в DLL kernel32.dll «").

Я попытался установить и использовать 32-битные драйверы, но я не могу создать DSN - они не отображаются в списке драйверов, поэтому я немного застрял.

+1

Я нашел эту страницу - последний шаг содержит подробные инструкции. Я не уверен, что это сработает для вас или нет, но я думал, что опубликую его на случай, если это поможет. – David

+0

Надеюсь, вы установили как 32-битную версию драйверов PostgreSQL, так и 64-разрядную версию? Были ли ошибки при установке 32-разрядной версии? –

ответ

1

Если вам нужно всего лишь преобразовать эту базу данных PostgreSQL в другой движок db, вы можете экспортировать всю базу данных PostgreSQL в текст, используя pg_dump. Есть возможность экспортировать только схему, а затем вы можете экспортировать данные из интересных таблиц. Они могут быть экспортированы как INSERT ... или как формат COPY, аналогичный CSV. Если вы идете по этому пути, ODBC не требуется.

+0

Мне удалось экспортировать все данные из старой базы данных. Проблема заключается в том, чтобы импортировать его в текущую версию Postgres. Инструмент SQL PgAdmin III зависает PgAdmin, а клиент PSQL имел возможность импортировать целых 5000 строк в одном скрипте, но теперь он задыхается на 300. Таким образом, есть что-то принципиально неправильное либо с самим движком, либо с тем, как у меня есть он настроен. У меня также есть необходимость иметь доступ к данным во время преобразования сайта, поэтому драйвер ODBC, по-видимому, является необходимой частью решения. –

+0

Вы экспортировали данные в текст 'pg_dump'? Если это так, вы можете начать преобразовывать 'CREATE TABLE ...' для использования типов, специфичных для' SQL Server', и сделали аналогичную операцию для 'INSERT INTO ...' или 'COPY ...'. AFAIK они различаются в некоторых типах и в некоторых форматах, например формат даты и времени очень отличается. –

+0

при перемещении данных используйте * новую * версию pg_dump для вывода данных из вашей * старой * версии Postgresql. –

Смежные вопросы