linux Oracle sde 外部包安装 ora-28595 的解决

用sql 在oracle 中操作空间表的时候报错入下:

以上提示说明是依赖的sde包引用无效,通过查询官网为oracle数据库配置了sde包,设置过程在此记录一下:

  1. 登陆sde用户执行

    select * from user_libraries where library_name = ‘ST_SHAPELIB‘;

    结果如下:明显对应路径是中引入的 st_shapelib.dll  文件是不存在的

2.在linux上新建文件夹,从arcdesktop 的安装目录找到 ......\DatabaseSupport\Oracle\Linux64 拷贝 libst_shapelib.so 过去并赋予权限

 mkdir sde_linux
 mkdir oracle
 chmod 777 libst_shapelib.so

3.更改外部库到指定so文件位置,登陆sde用户,执行

 create or replace library st_shapelib as ‘/oracle/sde_linux/oracle/libst_shapelib.so‘;

以上的路径为你自己的libst_shapelib.so文件的所在路径

4.配置环境变量

 lstener.ora 文件添加(根据自己情况修改ORACLE_HOME 和ENVS 路径)
 
  SID_LIST_LISTENER =
        (SID_LIST =
                (SID_DESC =
                (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
                (SID_NAME = PLSExtProc)
  (PROGRAM = extproc)
                    (ENVS="EXTPROC_DLLS=/oracle/sde_linux/oracle/libst_shapelib.so")
                )
        )
 tnsnames.ora 添加以下内容
 
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(Key =  EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
)

注意事项: 这两个文件的SID、SID_NAME 要相等 ,另外tnsnames.ora 中的Key 也要和listener.ora 中的Key 要相等。

5.重启监听和服务

 su - oracle
  lsnrctl stop
  lsnrctl start
  sqlplus /nolog
  conn /as sysdba
  shutdown immediate
  startup

完成以上操作后就可以在oracle中用sql语句更新arcgis空间表了

执行:

SELECT registration_id FROM sde.table_registry WHERE table_name = ‘TXT_TEST01‘ and owner = ‘ARCGIS‘;
 
INSERT INTO TXT_TEST01 (OBJECTID,FIELD_0,SHAPE) VALUES(sde.version_user_ddl.next_row_id(‘ARCGIS‘, 121),  ‘TRANQUIL‘, sde.ST_GEOMETRY(‘point (119.001824881 25.436934541)‘,300000) );

添加成功!end

附上官网链接:http://resources.arcgis.com/en/help/main/10.2/#/Configuring_the_Oracle_listener_to_use_ST_Geometry_and_ST_Raster/006z0000001w000000/

时间: 2024-11-06 18:04:22

linux Oracle sde 外部包安装 ora-28595 的解决的相关文章

Linux 之改变R包安装路径

Linux 之改变R包安装路径 背景 linux服务器不同节点安装的R包默认安装在自己的R路径的library下,每个节点都有类似的安装路径,不同节点之间R包不能共享. 问题 不同节点如何共用R包,省去重复安装R包痛苦. 方法 除增加环境变量方法外,如果想长期使用自己设定的路径,首先设定个几个节点的通用共享路径,在自己目录下,新建.Rprofile文件,并在文件内增加如下内容: .libPaths("/yourpath/R/library") ###多个路径使用c()相连 .libPa

将Oracle驱动jar包安装到本地Maven库

1.配置Maven环境变量: 变量名:MAVEN_HOME 变量值:E:\apache-maven-3.5.3(此处可根据maven位置而变化) 2.配置path:%MAVEN_HOME%\bin 3.在cmd中验证配置是否正确:mvn –version(若出现版本号则配置成功) 4.oracle自带有驱动jar包,以管理员身份打开cmd ,进入oracle驱动jar包所在的文件夹: 例如: C:\Oracle\product\11.2.0\dbhome_1\jdbc\lib 5.执行以下操作:

Linux之源码包安装软件

安装准备 安装c语言编辑器 gcc 压缩包  node-v6.2.0-linux-x64.tar.gz 源码包保存位置  /usr/local/src/ 源码包安装位置 /usr/local/软件名 解压缩 tar -zxvf node-v6.2.0-linux-x64.tar.gz 进入解压缩目录  cd node-v6.2.0-linux-x64 ./configure  软件配置与检验 定义需要的功能 检测系统环境是否符合安转要求 把定义好的的功能选项和检测系统环境的信息都写入Makefi

Linux中源码包安装

1.准备环境 a.因为是编译安装,所以需要安装gcc编译器 b.下载源码包 2.注意事项 a.源代码保存位置 /usr/local/src/ b.软件安装位置 /usr/local/ c.如何确定安装过程报错 安装停止,并出现error,warning,no xxx的提示 3.安装过程 a.解压缩下载的源码包 b.进入解压缩后的目录 1.一般在这个目录里可以找到安装说明 2.安装说明一般叫INSTALL 3.查看INSTALL文件,会告诉你怎么安 4.其实,这里的cde在INSTALL文件里都会

Red Hat Linux 6.5 rpm包安装mplyer

最近安装了rhel6.5想听个mp3,但是找了好多源码包,包括mplayer在内按着网上的教程苦逼的编译,最后发现全都是错误,想听首歌歌真的太难了,我在linuxcast上面终于找到了方法,因为是视频操作,所以我将其转换为书面版,供大家参考. 感谢linuxcast我终于可以用linux听mp3了! 我的环境是rhel6.5-i386的,所以我以32位为例,其他版本只要下载相对应版本号的安装包即可. 一.下载第三方rpm包: 1.http://rpmfusion.org/ For users E

linux下jdk rpm包安装

安装jdk rpm -ivh jdk-7u2-linux-i586.rpm 3,配置环境变量输入编辑:vi /etc/profile rpm包的jdk会自动安装到usr下 最下面输入: JAVA_HOME=/usr/java/jdk1.7.0_79 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLAS

linux php源码包 安装openssl 和curl 扩展

1. 安装openssl 解压php的源码包 tar zxvf php-5.3.8.tar.gz cd soft/php-5.3.8/ext/openssl mv config0.m4 config.m4                            否则报错:找不到config.m4 /opt/local/php-5.3.8/bin/phpize ./configure --with-openssl --with-php-config=/opt/local/php-5.3.8/bin/

linux操作系统-源码包安装mysql

背景: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.22. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql   //普通删除模式 rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除. 二:安装MySQL 安装编译

linux下xampp集成包安装配置方法

1.查看你linux系统的位数,是32位的还是64位的.使用uname -a命令查看. 显示有 x86_64则说明你是64位内核, 跑的是64位的系统. i386, i686说明你是32位的内核, 跑的是32位的系统 2.首先下载xampp的安装包.打开网址:https://www.apachefriends.org/zh_cn/download.html或http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.3/,选择你需要