Oracle配置st_geometry

ST_Geometry配置


原理:oracle调用用c语言编写的外部动态链接的库,在Windows上dynamic link library(.dll),在UNIX或Linux上是Shared Library(.so),利用这些安装好的类型和函数,您就可以使用 SQL 创建空间表;读取及分析空间数据;插入、更新及删除简单几何数据。

1、ST_Geometry配置


ST_Geometry配置步骤:

1:在arcgis server安装目录的bin目录下找到:st_shapelib.dll,(linux版本为libst_shapelib.so)拷贝到Oracle的安装目录下,如”D:\Oracle\product\11.2.0\dbhome_1\BIN”下,此外还需要设置对这个文件的读写权限操作及文件归属者。

2:在sde用户下运行如下两条语句:
 
   1):create or replace library ST_SHAPELIB  as 'D:\Oracle\product\11.2.0\dbhome_1\BIN\st_shapelib.dll';  

   2):alter package sde.st_geometry_shapelib_pkg compile reuse settings;  

3:修改监听配置文件listener.ora中的(ENVS="EXTPROC_DLLS=D:\Oracle\product\11.2.0\dbhome_1\BIN\st_shapelib.dll")一行,设置为“EXTPROC_DLLS=ANY”;(注意备份)

4:保存listener.ora文件,重新启动监听程序。


----------------------------------------------------------------------------------------------------------------

测试ST_Geometry是否配置成功:

1:登入sde用户,执行如下语句
select * from user_libraries where library_name = 'ST_SHAPELIB'; 

查看是否有"D:\Oracle\product\11.2.0\dbhome_1\BIN\st_shapelib.dll"的一行数据,即有SDE相关的DLL引用;

2:执行st_geometry测试语句
SELECT sde.st_geometry('point (110.06544906 34.52209921)', 4326)  FROM DUAL ;

2、已有sde用户,创建第二个空间库

--创建普通用户并赋权
create user gridsxsde identified by gridsxsde;

grant connect,resource,dba to gridsxsde;

--登录sde用户,查看类库位置
select * from user_libraries where library_name = 'ST_SHAPELIB';

--引入类库,并使之生效  
CREATE or REPLACE LIBRARY ST_SHAPELIB AS '/data/oracle/product/11.2.0/db_1/hs/admin/arcsdelib/libst_shapelib.so';

ALTER PACKAGE sde.st_geometry_shapelib_pkg COMPILE REUSE SETTINGS;

--测试st_geometry
SELECT sde.st_geometry('point (110.06544906 34.52209921)', 4326)  FROM DUAL ;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值