天天看点

shp2sdo工具导入shp文件到oracle

版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/51725949

工具准备:

1、首先到网上下载shp2sdo工具。

2、把下载的shp2sdo.exe文件放置到oracle的安装路径的bin目录下。

*备注:这里以railway.shp名的文件为例。

一、数据预处理

启动命令行工具,运行命令:shp2sdo.exe,然后按提示输入“shp文件路径”、“输出路径”等。

[shp文件的路径]>shp2sdo.exe

[shp文件的路径]>...

转换成功后生成三个文件(railway.ctl、railway.dat、railway.sql)。

二、创建表

利用上一步生成railway.sql文件进行表创建。启动命令行工具,运行:

[railway.sql文件生成路径]>sqlplus username/passwd@sid

SQL>@railway.sql

SQL>exit

三、向表中载入记录

启动命令行工具,运行

[railway.ctl文件生成路径]>sqlldr username/passwd@sid railway

四、创建空间索引

给空间数据字段创建索引。

>sqlplus username/passwd@sid

SQL>create index IDX_RAILWAY on RAILWAY(geom) indextype is mdsys.spatial_index;

补充:1. 在进行到第三步时,可能会出现“此处应该为**,实际为**”的异常,需用记事本打开railway.ctl文件,然后把railway.dat路径添加引号,或把路径删了只留文件名例如INFILE railway.dat。2. 在第三步或第四补出现错误时,检查一下数据库编码和生成的railway.dat编码格式是否一致。

导入数据的过程中,实际操作包括四个步骤:

1、创建表,包括空间字段(MDSYS.SDO_GEOMETRY)。

2、在空间记录表(USER_SDO_GEOM_METADATA)中插入一条记录。

3、在创建的表中插入所有记录数据。

4、创建表的空间索引(可通过user_sdo_index_metadata或user_sdo_index_info查询)。