我正在尽我所能将空间数据库从Oracle迁移到Postgresql并且失败了.
我已经尝试了许多不同的途径,你可以从我之前的问题中看到,这里没有任何工作.有人可以告诉我一个相对无痛的方式这样做,因为我现在无能为力.
我尝试过使用第三方软件,例如SwisSQL,但这种方法失败了很多错误.我已经尝试创建充满插入语句的文件,然后创建一个C#程序来解析这些并用相关的postgis替换oracle空间类型,并且由于这些文件的绝对大小而在最基本的替换上失败并出现内存不足异常.有些表中有超过200万条记录,因此您可以想象包含每个表的插入文件的大小.
我非常渴望解决这个问题,因为它严重阻碍了这个项目的进展.我需要Postgresql中的数据,因为我正在编写需要与数据库无关的软件,这意味着它必须在每个数据库上的实际数据上进行测试.
任何想法都会张开双臂欢迎.如果它不是这个的空间方面,它将更加简单,现在最有可能完成.
编辑:
下面是Toad for Oracle生成的插入示例,用于概述数据复杂性.
Insert into CLUSTER_1000M
(CLUSTER_ID, CELL_GEOM, CELL_CENTROID)
Values
(4410925,
"MDSYS"."SDO_GEOMETRY"(2003,81989,NULL,
"MDSYS"."SDO_ELEM_INFO_ARRAY"(1,1003,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
"MDSYS"."SDO_ORDINATE_ARRAY"(80000,103280,81000,104280,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)),
"MDSYS"."SDO_GEOMETRY"(2001,81989,
"MDSYS"."SDO_POINT_TYPE"(80500,103780,NULL),NULL,NULL));
Run Code Online (Sandbox Code Playgroud)