Oracle数据库完全入库过程介绍

上传人:luobi****88888 文档编号:133229601 上传时间:2020-05-25 格式:DOC 页数:7 大小:227KB
返回 下载 相关 举报
Oracle数据库完全入库过程介绍_第1页
第1页 / 共7页
Oracle数据库完全入库过程介绍_第2页
第2页 / 共7页
Oracle数据库完全入库过程介绍_第3页
第3页 / 共7页
Oracle数据库完全入库过程介绍_第4页
第4页 / 共7页
Oracle数据库完全入库过程介绍_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Oracle数据库完全入库过程介绍》由会员分享,可在线阅读,更多相关《Oracle数据库完全入库过程介绍(7页珍藏版)》请在金锄头文库上搜索。

1、第一部分简单空间数据入库1 利用shp2sdo分割shapefile文件。假设shapefile文件(集贸市场)和shp2sdo工具存储路径为C:data 打开命令符窗口(开始运行cmd),设置当前目录为存放.shp文件的目录。在命令行窗口中输入:cd C:data 运行SHP2SDO.EXE,参数1:SHAPE文件名(不带扩展名), 参数2:ORACLE中的表名 其他参数,默认运行后生成3中文件(*.SQL,*.DAT,*.CTL) 在命令行中输入:shp2sdo 集贸市场 jimaoshichang2 执行SQL语句。方法一: 重新打开一个命令窗口(开始运行cmd) sqlplus sco

2、tt/tigerorcl517,连接到数据库。 打开jimaoshichang.sql,复制粘贴,执行SQL语句。DROP TABLE JIMAOSHICHANG;防止有同名的表出现,先假设有这样一张表,将其删除CREATE TABLE JIMAOSHICHANG ( 区县 VARCHAR2(10), 乡镇名 VARCHAR2(10), 村名 VARCHAR2(10), 企业 VARCHAR2(50), GEOM MDSYS.SDO_GEOMETRY);创建表,最后一个字段存储空间数据DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = J

3、IMAOSHICHANG AND COLUMN_NAME = GEOM ;删除元数据表中关于这张表的记录。元数据表中对应与这张表有一条记录INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO) VALUES (JIMAOSHICHANG, GEOM, MDSYS.SDO_DIM_ARRAY (MDSYS.SDO_DIM_ELEMENT(X, 39373833.909274168, 39519763.519715697, 0.000000050), MDSYS.SDO_DIM_ELEMENT(Y, 4369176

4、.981283660, 4507295.457671791, 0.000000050) ) ); 向元数据表中插入该表的一条元数据COMMIT;方法二:在SQL PLUS中运行jimaoshichang.sql。3 执行控制语句将图层数据入库,导入到前面建的新表当中 打开命令符窗口(开始运行cmd),设置当前目录为存放.shp文件的目录。在命令行窗口中输入:cd C:data 执行sqlldr scott/tigerorcl517 control= jimaoshichang.ctl4 转换空间数据的数据格式执行下列sql语言:EXECUTE SDO_MIGRATE.TO_CURRENT(ji

5、maoshichang表名,GEOM空间字段名); 5 创建空间索引执行下列sql语言:CREATE INDEX jimaoshichangsuoyin索引名ON jimaoshichang要创建索引的表名(GEOM要创建控件索引的空间字段)INDEXTYPE IS MDSYS.SPATIAL_INDEX;第二部分空间数据迁移1 创建一张新表,用来存放jimaoshichang表中的数据DROP TABLE MARKET;CREATE TABLE MARKET ( C_MARKETNAME VARCHAR2(50) , G_FEATURESHAPE MDSYS.SDO_GEOMETRY );

6、2将描述数据表(也就是图层)的元数据写入元数据表。DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = MARKET AND COLUMN_NAME = G_FEATURESHAPE ;INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO) VALUES (MARKET, G_FEATURESHAPE, MDSYS.SDO_DIM_ARRAY (MDSYS.SDO_DIM_ELEMENT(X, 39373833.909274168, 39519763.519

7、715697, 0.000000050), MDSYS.SDO_DIM_ELEMENT(Y, 4369176.981283660, 4507295.457671791, 0.000000050) ) ); 3.往新建的数据表中插入数据 insert into MARKET (C_MARKETNAME,G_FEATURESHAPE)select 企业,GEOM from jimaoshichang;4创建索引CREATE INDEX GIDX_GT_M_MARKETON MARKET (G_FEATURESHAPE)INDEXTYPE IS MDSYS.SPATIAL_INDEX;附:5.CoG

8、isMap的元数据表定义CREATE TABLE DBSCHEMA_OGIS_FEATURE_TABLES (GEOM_TABLE_NAME VARCHAR2(129 byte) NOT NULL, GEOM_TABLE_TYPE VARCHAR2(129 byte) NOT NULL, GEOM_COLUMN_NAME VARCHAR2(129 byte) NOT NULL, GEOM_TYPE NUMBER(10) NOT NULL, GEOM_EXTENT MDSYS.SDO_GEOMETRY DEFAULT MDSYS.SDO_GEOMETRY( 2003, - 2-dimension

9、al polygon NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3), - one rectangle (1003 = exterior) MDSYS.SDO_ORDINATE_ARRAY(0,0,1,1) ) NOT NULL, CONSTRAINT KEY_1_1_1 PRIMARY KEY(GEOM_TABLE_NAME)6在CoGisMap的元数据表中填入元数据。执行脚本:INSERT INTO DBSCHEMA_OGIS_FEATURE_TABLES (GEOM_TABLE_NAME ,GEOM_TABLE_TYPE ,GEOM_COL

10、UMN_NAME , GEOM_TYPE ) VALUES (GT_M ,TABLE ,GEOM ,4 )至此,这个空间数据表就可以在控件中显示了。附件 关于空间数据表的创建和删除- 创建空间数据表的脚本:- 表中要有一列定义为空间数据存储结构(MDSYS.SDO_GEOMETRY)。CREATE TABLE DEMO.TEST_GEOM(ObjectID NUMBER,RecordID NUMBER,OperateCHAR(2),ChangeDateDATE,GEOMMDSYS.SDO_GEOMETRY); - 创建空间数据表之后,要将描述数据表(也就是图层)- 的元数据写入元数据表。- 各

11、列含义分别为:- 空间数据表的名称,- 空间所在列的名称,- 空间数据表(图层)的维度信息,-参考坐标系索引。- 其中图层维度信息包含24条记录,记录的各列含义如下:- 维度名称(X,Y或Z)-最小值(NUMBER)-最大值(NUMBER)-容差(NUMBER)INSERT INTO USER_SDO_GEOM_METADATAVALUES (TEST_GEOM,GEOM,MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT(X, 1144.804047, 3762.220078, 0.005),MDSYS.SDO_DIM_ELEMENT(Y, 66.337745, 2894.969755, 0.005),NULL - SRID);- 如何删除空间数据表(图层)?- 分为两步:1、删除表,2、删除元数据。- 删除表DROP TABLE TEST_GEOM;- 删除元数据DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = TEST_GEOMAND COLUMN_NAME = GEOM;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 数据结构与算法

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号