ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004

导语

随着Esri大力宣传直连,用户也越来越由服务连接,改为直连,当然ArcGIS Engine开发用户也不例外。

环境

Oracle数据库,ArcGIS版本不限,不过由于9版本多以服务连接,以10版本之后作为测试对象

问题描述

由于现在都用直连了,而且直连需要安装数据库客户端,Oracle客户端可能对某些用户也比较难以把握,一般就是用比较方便的Instant Client ,这个客户端直接解压缩,配置环境变量即可。

但是用户的环境比较特殊,默认的1521数据库端口是不暴漏给客户端用户的,DBA给客户端用户另外开辟了一个非1521端口,而且现在如果使用IntantClient都默认使用EZConnect方式,
也就是IP:端口号/服务名,如果你的端口号默认1521,这个写法也可以把端口号省略掉,IP/服务名

那么问题就出来了,使用ArcGIS Engine连接SDE的代码如下:

public IWorkspace Connect_SDE()
        {
            IPropertySet propertySet = new PropertySetClass();
            propertySet.SetProperty("INSTANCE","sde:oracle11g:192.168.220.131/orcl");
            propertySet.SetProperty("USER", "sde");
            propertySet.SetProperty("PASSWORD", "sde");

            IWorkspaceFactory sdefactory = new SdeWorkspaceFactoryClass();
            IWorkspace sdeWorkspace = sdefactory.Open(propertySet, 0);
            return sdeWorkspace;
        }

如果是默认端口1521,用户可以按照上面的连接即可,但是如果修改了端口号,用户需要添加端口号,相关代码为

propertySet.SetProperty("INSTANCE","sde:oracle11g:192.168.220.131:1522/orcl");

但是使用这种方式,ArcGIS Engine会报一个超时的错误。

问题原因

这个问题是一个Bug

Bug Number  NIM077055
Submitted  Jan 17, 2012 11:27 AM
Severity  Medium
Applies To  No Product Found
Version Found  No Version Found
Prog Language  N/A
Server Platform  
Client Platform  
Database  All
Locale  N/A
Status  
Version Fixed  10.1
SP Fixed  N/A

解决方案

1、如果使用默认1521端口,就是用上面代码的连接方式,注意不能包含端口号
2、如果使用非1521端口,你就必须安装一个Oracle客户端的管理员版本,配置NetserviceName就可以了
假如你的netservicename名称为:orcl_123

propertySet.SetProperty("INSTANCE","sde:oracle11g:orcl_123");

总结

在ArcGIS Engine开发过程中,虽然可以类比ArcGIS for Desktop的功能和写法,但是在连接参数这块可能有所区别
1、ArcGIS for Desktop不需要写sde:oracle11g、支持端口号
2、ArcGIS Engine必须要写sde:oracle11g、不支持端口号

iarcgis.com,版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:http://www.iarcgis.com/?p=1004

时间: 2024-11-06 14:16:24

ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004的相关文章

ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004

导语 随着Esri大力宣传直连,用户也越来越由服务连接,改为直连,当然ArcGIS Engine开发用户也不例外. 环境 Oracle数据库,ArcGIS版本不限,不过由于9版本多以服务连接,以10版本之后作为测试对象 问题描述 由于现在都用直连了,而且直连需要安装数据库客户端,Oracle客户端可能对某些用户也比较难以把握,一般就是用比较方便的Instant Client ,这个客户端直接解压缩,配置环境变量即可. 但是用户的环境比较特殊,默认的1521数据库端口是不暴漏给客户端用户的,DBA

CentOS 调用.Net 的Web Service,提示连接超时解决方案

我是使用axis调用.NET 的Web Service ,在Window下跑没有问题,将项目部署到Linux下,发现Web Service 连接超时,百度了下,发现是因为Linux不能直接跑.Net,需要配置下环境. 我是小白!ORZ... 解决方法: 在终端登录root,先后执行: 1.rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38

ftp能够登陆,但是传输总是提示连接超时

connect failed: Connection timed out.connect failed: Connection timed out.connect failed: Connection timed out. 注意开放允许客户端链接的端口,比如30001-30500.不然总是会提示超时.

Nginx APP接口连接超时

内网有一台APP服务器,接口是通过Nginx发布的.手机通过无线登陆APP,有时候提示连接超时. 无线路由器和APP服务器,是通过内网交换机连接的.应该不会超时啊,可能是路由器问题. 然后换了好几个路由器,小米mini,华硕RT-AC87U,TP-LINK WVR1750G 咨询厂商,测试了一下,当时超时的时候,访问百度视频什么的是正常的.路由器没有问题,可能是服务器问题.因为服务器是pc机主机,配置比较差,后来换成DELL R620,还是同样的问题. 因为公司周围有30几个无线,2.4G传输速

oracle用cmd货plsql登录oracle实例提示“ORA :12170”TNS:连接超时

1,cmd ------ ping ip地址:查看网络问题,能否ping通ip地址 2,cmd ------ tnsping ip地址(或服务器的实例名SID)“ ①如果出现"TNS-12535:操作超时" 提示,可能是服务器端防火墙没有关闭,关闭防火墙即可: ②如果出现下图显示,则证明没有问题: ” 3,cmd ------ netstat - na 查看1521端口是否关闭 ①如果显示关闭,则需要在防火墙设置中将1521端口设为例外: ②如果出现下图显示,则证明没有问题: 4,cm

如何解决MySQL连接超时关闭

最近做网站有一个站要用到WEB网页采集器功能,当一个PHP脚本在请求URL的时候,可能这个被请求的网页非常慢慢,超过了mysql的 wait-timeout时间,然后当网页内容被抓回来后,准备插入到MySQL的时候,发现MySQL的连接超时关闭了,于是就出现了"MySQL server has gone away"这样的错误提示,解决这个问题,我的经验有以下两点,或许对大家有用处: 第一种方法: 当然是增加你的 wait-timeout值,这个参数是在my.cnf(在Windows下台

Hibernate+C3P0下连接超时总结

最近后台总是会遇到当几个游戏区并发通知后台写入统计数据时,发生连接已超时的问题,抛出如下异常,导致一些统计数据未有写进去. Mysql服务器默认的"wait_timeout"是8小时[也就是默认的值默认是28800秒],也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接. wait timeout的值可以设定,但最多只能是2147483,不能再大了.也就是约24.85天 这个参数大致的

vSphere 5.5 使用Web Client打开控制台窗口显示连接超时

感受到Web Client的应用趋势,在PC机上用WKS跑vSphere 5.5的LAB环境,想适应一下Web Client. 在装完ClientIntegrationPlugin之后启动VM控制台,却出现了连接超时的错误提示,如下图所示 尝试Chrome换IE也是一样的问题,修改IE兼容性为IE9,IE10都未能解决问题 后来发现在vc上运行却没有这个问题,但却发现在vc中添加主机的时候是使用的主机名,而不是IP地址.于是在host文件里面添加本地解析,于是就正常了. PS:如果只添加了VC的

一次“ora-12170 tns 连接超时”的经历

win7    64位系统 oracle  10g   64位 plsql之前连接是好使的,突然连接不上,提示错误“ora-12170 tns 连接超时” 1.ping IP    没有问题 2.netstat –na 查看1521端口,端口是没有问题的 3.防火墙没问题 4.lsnrctl status   发现  snmp off 解决方法 首先:dba用户登录系统,无法shutdown   报:ora-00106错误: 修改 由于不是rac  是单机,之前的   tnsnames中serv