我正在使用ora2pg将架构和数据从oracle迁移到postgres数据库 .
conf文件有以下修改:
-
提供了ORACLE_HOME和DSN
-
将导出类型设置为:
TYPE, TABLE, PACKAGE, COPY, VIEW, GRANT, SEQUENCE, TRIGGER, FUNCTION, PROCEDURE, TABLESPACE, TYPE, PARTITION, MVIEW, QUERY
(已删除FDW)
当我运行该工具时,我收到以下错误:
DBD :: Oracle :: db准备失败:ORA-01741:非法零长度标识符(DBD E RROR:OCIStmtPrepare)[用于语句“SELECT FROM”“ . ”GT_LAYER_ENTITIES“a”]在D:/ Dwimperl / perl / site / lib / Ora2Pg.pm第8808行 . 致命:ORA-01741:非法零长度标识符(DBD错误:OCIStmtPrepare)正在中止导出...
我提供的用户拥有DBA权限 .
如果您有任何解决方案,请告诉我 .
谢谢
1 回答
您确实安装了正确的
DBD-Oracle
版本 . 你可以用DBD-Oracle-1.74
来证明 .我的建议是,你不要使用配置文件来提取表,查看等 .
但首先要创建一个新项目:
并在导入db postgres表,序列等之后......最后,在db上导入数据 .
最重要的是,您为导入创建了一个psql数据库和用户 .