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_微盘下载

      

     

  • 相关阅读:
    pipelinewise 学习二 创建一个简单的pipeline
    pipelinewise 学习一 docker方式安装
    Supercharging your ETL with Airflow and Singer
    ubuntu中使用 alien安装rpm包
    PipelineWise illustrates the power of Singer
    pipelinewise 基于singer 指南的的数据pipeline 工具
    关于singer elt 的几篇很不错的文章
    npkill 一个方便的npm 包清理工具
    kuma docker-compose 环境试用
    kuma 学习四 策略
  • 原文地址:https://www.cnblogs.com/GISRSMAN/p/6420966.html
Copyright © 2011-2022 走看看