zoukankan      html  css  js  c++  java
  • ArcGIS SDE for Oracle 客户端直连错误解决

    arcgis10.2发现直连数据库问题:通过arcgis desktop能连,但是arcengine不能连,始终报

    “Underlying DBMS error[ORA-12154:”错误。

    一、ArcEngine直连失败解决方法

    ArcGIS SDE for Oracle 客户端安装配置,oracle中文乱码解决

    服务器端环境:ArcGIS10.2,Oracle11g2服务器端,已安装,然后通过直连的方式,链接到SDE
    
    客户端:
       客户端不用安装oracle11g2客户端,只需要安装instantclient,然后配置环境变量参数,Oracle官网提供了instantclient,下载instantclient-basic包,将包解压存放到本地,测试位置为:D:STUDYinstantclient_11_2;。
    
    1、直接在这个目录下新建sqlnet.ora和tnsnames.ora两个文件
    sqlnet.ora文件内容
    ---------------------
    SQLNET.AUTHENTICATION_SERVICES= (NTS)  //此处也可为=None,=NTS容易出现无法连接orcle现象。
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    

    tnsnames.ora文件内容 orcl = (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.146.143 )(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 注:斜体部分需要按需配置,如果端口是自定义的也需要相应变更。

      

    二、ArcGIS10.1及以上 直连SDE参数配置方法

       Server:服务器名或IP(可以不填)
       INSTANCE: sde:oraclexx:数据库监听名
       Database: 要连接的数据库名(可以不填)
       username: 用户名(最好用SDE用户)
       password: 密码

    IPropertySet pPropset = new PropertySetClass(); 
    pPropset .SetProperty("Server",“192.168.0.1”); 
    pPropset .SetProperty("INSTANCE","sde:oracle11g:orcl"); 
    pPropset .SetProperty("USER","sde"); 
    pPropset .SetProperty("PASSWORD","sde"); 
    pPropset .SetProperty ("DATABASE", "sde"); 
    pPropset .SetProperty("VERSION","SDE.DEFAULT"); 
    IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass(); 
    IFeatureWorkspace Workspace = (IFeatureWorkspace)Fact.Open(pPropset ,0);

     参考:

    ArcSDE10.1之后直连数据库

    ArcEngine 访问 直连方式Oracle11g SDE10.1

     

    三、不配置 Tns Name 使用 ArcGIS Desktop 直连 SDE 的方法

    按照一、二方法需要配置sqlnet.ora和tnsnames.ora两个文件;如果不配置也可以,服务写成这个样式即可“sde:oracle11g:192.168.15.192/orcl”,arcengine连接sde同理。

    3.1 不配置 Tns Name 使用 ArcGIS Desktop 直连 SDE 的方法

    以下是连接参数截图:

    参数说明:

    服务器:服务端IP或机器名

    服务:“sde:oracle11g:”是固定的,最后的“PS2VM1”是oracle的网络服务名,就是oracle net manager左边的树的节点名称

    PS:不用网络服务名也可以,例如可以这样:“sde:oracle11g:192.168.15.192/orcl”,192.168.15.192代表IP或计算机名,orcl是oracle数据库名(SID),这种写法也可用在plsql登录时的database一项

    数据库:可以不填

    用户名和密码:sde的用户和密码

     

    3.2 不配置 Tns Name 使用 ArcEngine直连 SDE 的方法

    写成这个样式即可“sde:oracle11g:192.168.15.192/orcl”

    (上文中配置tnsname的写法是写成sde:oracle11g:orcl(此处的orcl是tnsname的监听名称orcl))

    IPropertySet propertySet = new PropertySetClass();
    propertySet.SetProperty("instance", "sde:oracle11g:192.168.1.1/orcl");
    propertySet.SetProperty("user", "sde"
    propertySet.SetProperty("password", "sde"
    propertySet.SetProperty("version", "sde.DEFAULT"
    
    IWorkspaceFactory factory = new SdeWorkspaceFactoryClass();
    return factory.Open(propertySet, 0);

     参考:

    ArcGIS Desktop 10.0 直连 ArcSDE 10.2

    不配置Tns Name使用ArcGIS Desktop直连SDE的方法.pdf_微盘下载

      

     

  • 相关阅读:
    kolla多节点部署openstack
    归并排序
    gitlab ci/cd
    微信、支付宝个人收款码不能用于经营收款 z
    微信小程序弹出和隐藏遮罩层动画以及五星评分
    centos7 安装 nginx
    netty+websocket模式下token身份验证遇到的问题
    windows 截图 win+shift+s
    linux下 "chmod 777" 中777这个数字是怎么出来的
    nginx四层转发,访问内网mysql数据库
  • 原文地址:https://www.cnblogs.com/GISRSMAN/p/6420966.html
Copyright © 2011-2022 走看看