ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004
2015-04-21 21:31
531 查看
导语
随着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会报一个超时的错误。
问题原因
这个问题是一个BugBug 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
相关文章推荐
- ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004
- 远程使用pl/sql登陆数据库时,界面提示 ORA-12170: TNS: 连接超时
- ArcGIS Engine三维动画开发 来自:http://www.iarcgis.com/?p=826
- 连接access数据库-----来自一个不错的网站:http://www.connectionstrings.com/
- Oralce 远程客户端连接,提示Ora-12170 TNS操作超时
- 解决登录提示http连接超时问题
- ORA-12170: TNS: 连接超时
- 基于ORA-12170 TNS 连接超时解决办法详解
- oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
- oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
- ORA-12170 TNS 连接超时
- Maverick.Net介绍 (来自http://www.cnblogs.com/RicCC/archive/2006/09/17/506890.html)
- 数据库连接总是超时 ORA-12170: TNS:Connect timeout occurred
- 状态栏提示控件的实现原理(转自http://www.cnblogs.com/smileEvday/archive/2013/05/30/statusBarTips.html)
- 一次“ora-12170 tns 连接超时”的经历
- ORA-12170:TNS:连接超时
- python字符串连接的N种方式(转自http://www.jb51.net/article/55301.htm;http://www.cnblogs.com/huangcong/)
- ORA-12170 TNS 连接超时
- WinForm控件设计:DataGridView的行统计实现 原文来自:http://www.cnblogs.com/yyj/archive/2010/10/21/1857518.html
- ORA-12170 TNS 连接超时