Директива об отправке экспорта напрямую в PostgreSQL с использованием ora2pg
Я пытаюсь перенести oracle db в postgres, используя ora2pg. Просто для тестирования я создал таблицу в определенной схеме и запустил ora2pg, который генерирует файл.sql, и я запустил \i .sql для postgres и до сих пор работал нормально, но сценарий изменился. Мне нужно импортировать этот файл.sql непосредственно в базу данных postgres. Как говорится, в ora2pg.conf есть директива.
**Define the following directive to send export directly to a PostgreSQL
database. This will disable file output.**
*PG_DSN dbi:Pg:dbname=testdb;host=ip_address;port=port_no
PG_USER postgres PG_PWD postgres*
Соответствует ли этот раздел конфигурации моему вышеуказанному требованию. Удаленное соединение для postgres, где нам нужно запустить инструмент ora2pg, работает нормально. когда я бегу
ora2pg -d:
output>>
Ora2Pg version: 18.2
Trying to connect to database: *dbi:Oracle:host=host_address;sid=odb_sid;port=odb_port*
Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
Looking forward functions declaration in schema srschema.
Retrieving table information...
[1] Scanning table TEST_TBL (1 rows)...
Retrieving table information...
[1] Scanning table TEST_TBL (1 rows)...
Warning duplicate table TEST_TBL, maybe a SYNONYM ? Skipped.
Retrieving procedures information...
Retrieving functions information...
Dumping table TEST_TBL...
Trying to connect to database:
dbi:Oracle:host=host_address;sid=odb_sid;port=odb_port
Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
Retrieving partitions information...
Невозможно вызвать метод "do" для неопределенного значения в
/usr/local/share/perl5/Ora2Pg.pm строка 5223. Возврат отката () из-за DESTROY без явного отключения () дескриптора DBD::Oracle::db (ОПИСАНИЕ =(АДРЕС =(HOST=host_address)(PROTOCOL=) tcp)(PORT=odb_port))(CONNECT_DATA=(SID=odb_sid))) в строке /23r/local/share/perl5/Ora2Pg.pm 5223.
Сервер, с которого будет работать ora2pg, и соединение с сервером postgres работает нормально.