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、不支持端口号
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版 ...
- 使用 FileZilla FTP Client连接Vsftpd在执行LIST命令后提示连接超时
使用 FileZilla FTP Client 连接 Vsftpd在执行LIST命令后提示连接超时. vi /etc/vsftpd/vsftpd.conf 添加: #开启被动模式 pasv_enabl ...
- CentOS 调用.Net 的Web Service,提示连接超时解决方案
我是使用axis调用.NET 的Web Service ,在Window下跑没有问题,将项目部署到Linux下,发现Web Service 连接超时,百度了下,发现是因为Linux不能直接跑.Net, ...
- 访问redis集群提示连接超时的问题
上周在服务器通过docker部署了一个单机版redis集群,今天通过StackExchange.Redis访问的时候报了这个错: 提示我把超时时间设置一下,我去服务器上找到redis的配置文件,发现不 ...
- SecureCRT连接本地的Vmware虚拟机(CentOS)时提示连接超时“Connection timed out”
测试了一下,直接在Vmware的VM里面可以ping通宿主机. 但是宿主机无法ping通VM. 后面发现是本地的网络设置里面的vmware的NAT的网卡设置了手工填写地址和DNS. 修改为自动获取.问 ...
- plsql通过instantclient连接oracle数据库报连接超时
配置:数据库oracle10.2;服务器操作系统centos5.5:客户机操作系统win7 32位:plsql版本10.0.5 配置前提必须关闭客户机与服务器操作系统的防火墙,否则会出现“连接超时”的 ...
- 关于Oracle连接超时的问题
测试环境ORACLE 11.2.0. 如果连接池设置单个连接闲置时间大于数据库连接超时时间,则连接池中的连接发出数据请求时会出现Connect timeout occurred错误, 这是由于连接超时 ...
- MySQL连接问题【如何解决MySQL连接超时关闭】
--MySQL连接问题[如何解决MySQL连接超时关闭] ------------------------------------------------转载 最近做网站有一个站要用到WEB网页采集器 ...
- 一次“ora-12170 tns 连接超时”的经历
win7 64位系统 oracle 10g 64位 plsql之前连接是好使的,突然连接不上,提示错误“ora-12170 tns 连接超时” 1.ping IP 没有问题 2. ...
随机推荐
- (C/C++) STL 標頭檔 algorithm (一)
因為解題需求認識了一些STL相關funciton. 分別是 max_element (ForwardIterator first, ForwardIterator last); min_element ...
- C#接口实现多态
我比较喜欢对感兴趣的理论进行反复的理解甚至理解背诵下来,接下来再复习一下什么叫多态(哈哈哈) 多态:在同一粒度视图下对相同类型的事物不做区别的统一操作 接下来看一下接口和引擎类是如何实现多态的: 一. ...
- Android屏幕尺寸单位转换
最近在看Android群英传这本书,书中有一节涉及到了,屏幕尺寸与单位.觉得以后可能会用到,做个笔记. PPI(pixels per inch) ,又称为DPI,它是由对角线的像素点数除以屏幕的大小得 ...
- 【运维】centos7+confluence5.6.6破解
一.安装mysql数据库 centos7自带mariadb数据库,因为无法下载完整安装包,最终选择将其完全卸载,然后全新安装mysql数据库 1.卸载mariadb rpm -qa | grep ma ...
- ActionBarCompat 教程-实现Action Bar
http://www.mobiletuts.me 自Action Bar设计概念在Android 3.0(API 11) 中被Google引入以后,Action Bar这种设计模式迅速被各APP厂商( ...
- C# 数组基础
一.数组的基础知识 1.数组有什么用? 如果需要同一个类型的多个对象,就可以使用数组.数组是一种数组结构,它可以包含同一个类型的多个元素. 2.数组的初始化方式 第一种:先声明后赋值 ]; array ...
- SQL语句——入门级
入门级别的sql语句,“--”两条横线表示sql语句的注释 表: id name age height2015102 老王 68 170.320150101 张三 null null201501 ...
- ECharts概念学习系列之ECharts官网教程之自定义构建 ECharts(图文详解)
不多说,直接上干货! 官网 http://echarts.baidu.com/tutorial.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9E%84%E5%BB%BA%2 ...
- Go语言学习笔记一: Hello World
Go语言学习笔记一: Hello World 听说Go语言又快又简单.即具有C语言的运行速度,又具有Python语言的开发效率,不知道真的假的.所以特意来学学这门"老"语言. 下载 ...
- C 标准库 - ctype.h之isalpha使用
isalpha int isalpha ( int c ); Checks whether c is an alphabetic letter. 检查给定字符是否字母字符,即是大写字母( ABCDEF ...