如果是在windows 64位系统下使用Ora2pg进行数据迁移,
使用的Perl编译器必须是Strawberry Perl(64 bit)
如果使用ActivePerl编译安装DBD::Oracle后执行ora2pg时,会出现类似下列的错误
"Can't load 'C:/Perl64/lib/auto/DBD/Oracle/Oracle.dll"
因为ActivePerl安装目录下的Oracle.dll是32位的
如果一定要使用ActivePerl编译,最好oracle instant client也使用32位的(不过这个我没有试过,不知道成功不成功)
另外Oracle数据库表中的主键外键貌似在导出时都丢失了,需要手动补充
Oracle表中的nvarchar类型在Postgresql中没有对应的类型,会自动转成character类型,类型长度也会发生变化,需要手动调整。