powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / postgresql dblink на внешний сервер oracle
8 сообщений из 8, страница 1 из 1
postgresql dblink на внешний сервер oracle
    #39424549
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Помогите пожалуйста разобраться в проблеме установки соединения с сервером Oracle из базы данных postgresql 9.6.3.
- базы данных находятся на разных серверах.
- версии postgresql 9.6.3
- версии oracle 11
- оба сервера window server 2008 r2

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
-- Устанавливаю расширения
CREATE EXTENSION dblink;
CREATE EXTENSION postgresql_fdw; 

-- Проверяю работу dblink на локальной базе postgresql
SELECT dblink_connect('host=localhost user=postgres password=******* dbname=postgresDb');
-- Возвращает OK

-- Проверяю работу dblink с внешней базой данных oracle
SELECT dblink_connect('dbname=oraDb port=1521 host=xxx user=oraUser password=*******');
-- Возвращает:
-- ОШИБКА: could not establish connection
-- SQL-состояние: 08001



Пробую прописать внешнюю базу данных в postgersql
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE FOREIGN DATA WRAPPER FDW VALIDATOR postgresql_fdw_validator;
CREATE SERVER dbOracle FOREIGN DATA WRAPPER FDW OPTIONS (hostaddr 'xxx.xxx.xxx.xxx', dbname 'oraDb');
CREATE USER MAPPING FOR postgres SERVER dbOracle OPTIONS (user 'oraUser', password '*******'); 

SELECT dblink_connect('dbOracle');
-- Возвращает:
-- ОШИБКА: could not establish connection
-- SQL-состояние: 08001



Клиент оракл на сервере установлен. Пробуя соединяться с ораклом через PLSQL Developer, соединение проходит без проблем.

Помогите пожалуйста, настроить соединение через dblink в postgresql.
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424552
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://www.postgresql.org/docs/9.6/static/dblink.html
авторdblink is a module that supports connections to other PostgreSQL databases from within a database session.
С чего вы взяли, что он в принципе может подцепиться к другим базам?

https://www.postgresql.org/docs/current/static/postgres-fdw.html
авторThe postgres_fdw module provides the foreign-data wrapper postgres_fdw, which can be used to access data stored in external PostgreSQL servers.
Аналогично.

Смотрите тут: https://wiki.postgresql.org/wiki/Foreign_data_wrappers
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424630
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно, а я то думал почему не выходит.

В таком случае подскажите пожалуйста, как я могу забрать данные из oracle и положить их в postgresql.
Под данными я имею ввиду только строки из таблиц, так как таблицы в обеих БД идентичны.
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424636
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nechto,

Melkij вам уже писал - Foreign Data Wrapper.
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424727
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nechto,

0. dblink это встроенный клиент к постгресу, и только к нему. ничего общего с оракловым не имеет.

варианты:

1. fdw: http://www.sql.ru/forum/actualsearch.aspx?search=oracle_fdw&sin=0&bid=7&a=&ma=0&dt=-1&s=1&so=1

2. клиенты(перловая библа доступа с субдям DBI): http://www.sql.ru/forum/actualsearch.aspx?search=dbi_link&sin=0&bid=7&a=&ma=0&dt=-1&s=1&so=1

напр:.
http://postgres.cz/wiki/PL/Perlu_-_Untrusted_Perl_(en)
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424830
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил пойти по пути FDW.

Скачал расширение тут: https://github.com/laurenz/oracle_fdw/releases/
версию - oracle_fdw-1.5.0-pg96-win64.zip (так как postgresql 9.6.3 x64)
Разложил по папкам файлы, перезапустил службу.

И теперь добавляю расширение CREATE EXTENSION oracle_fdw;
Выдает ошибку : загрузить библиотеку "Путь к библиотеке" не удалось: %l is not a valid Win32 application.

Я так понимаю он хочет х86. Но это очень странно, ведь windows server и postgresql установлены х64.

Может быть есть какой-то нюанс в установке этого расширения?
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424839
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде я нашел в чем проблема:
автор http://www.sql.ru/forum/1235570/oshibka-v-create-extension-oracle-fdw
Клиент oracle установлен х86. Все остальное в х64.
Выходит нужно переустанавливать клиента oracle?
...
Рейтинг: 0 / 0
postgresql dblink на внешний сервер oracle
    #39424886
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переставил клиент. Все работает!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / postgresql dblink на внешний сервер oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]