工具准备:
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查询)。