在ArcGIS中如何使用直连方式连接Oracle数据库

简介: 1.      背景直连方式比使用SDE方式更加稳定,特别是在大数据量处理的应用中,不易出场由SDE连接进程造成的gsvr错误。

1.      背景

直连方式比使用SDE方式更加稳定,特别是在大数据量处理的应用中,不易出场由SDE连接进程造成的gsvr错误。同时直连方式由于采用Orale客户端连接数据库,在数据库双机部署或集群部署时可以直接利用数据库的负载机制,如RAC,勿需额外的负载均衡服务器。

2.      方法

在ArcGIS中使用直连,最简单和常用的工具莫过于ArcCatalog。

打开ArcCatalog,找到Database connections,选择添加空间数据库连接项:

双击后如下,填写连接参数。

使用SDE连接与直连的参数对比如下:

 

SDE连接

直连

server

192.168.0.39

192.168.0.39

service

5151

Sde:oracle10g

username

sde

sde

password

sde

sde@orcl

表中IP当采用SDE连接方式为SDE服务所在的IP。

3.      遇到问题

在本机测试的过程中遇到一个离奇的问题,即直连本机好用,直连远程服务器不好使了。

采用直连方式可以连通本机39上的oracle服务器,其它连接参数不变把IP修改为192.168.0.81后,连上的仍然是本机(39)的数据库。

考虑到81上的数据库为11g ,将service参数修改为sde:oracle11g直连81的Oracle,此时居然报错,连接服务器失败。

这个问题一直搹浅了很久,也没有找到原因。后来请教了专业人员,才知道还是对ArcGIS直连Oracle的原理不清楚。

4.      分析直连原理

ArcGIS直连Oracle的原理见下图。首先ArcGIS直连Oracle是通过在ArcGIS所在客户端上安装一个oracle client实现的。oracle client去连接oracle database,而不是采用SDE方式中的SDE服务去连接。

其次,ArcGIS客户端如ArcCatalog将连接请求发给oracleclient时必须有一个与所请求的服务器对应的监听服务(Net lisenter)。监听服务可以使用oracle client的Net Manager管理工具配置。配置后的监听服务信息记录在一个Tnsnames.ora文件中,用过Oracle客户端的人对这个文件应该都不陌生,这个文件存储在“安装目录\db_1\NETWORK\ADMIN”下,因此高手也可以不用Net Manager管理工具配置,直接修改这个文件即可。

配置完成保存后,在文件Tnsnames.ora应该可以看到新加的监听服务,如下图:

可以使用Sqlplus检测监听服务是否成功启动。在cmd中运行sqlplus sde/sde@orcl81,如显示成功连接,则监听服务配置成功,可以继续在ArcGIS中的直连操作。

5.      解决问题

现在再来解决前面提到的直连本机好用,直连远程服务器不好使的问题。

修改连接参数如下:

 

直连

server

192.168.0.39

service

Sde:oracle10g

username

sde

password

sde@orcl81

成功连接81的远程服务器。

再修改连接参数如下后进行连接测试:

 

直连

server

 

service

Sde:oracle10g

username

sde

password

sde@orcl81

仍然可以成功连接81的远程服务器,说明IP在直连中不是必须参数。

再修改连接参数如下后进行连接测试:

 

直连

server

 

service

Sde:oracle11g

username

sde

password

sde@orcl81

连接失败,说明Oracle版本信息不是填服务器版本,而是本机客户端版本,测试中本机为10g的数据库,服务器端为11g的数据库。

6.      几个关键点

最后总结一下,在ArcGIS中使用直连的方式连接Oracle数据库时几个必须注意事的关键点。

第一个是建立可正常运行的监听服务,监听向所需连接数据库发出的请求。本文中所遇到的问题是因为数据库是本机的,本机数据库监听服务在安装时已配置好,而远程数据库的监听服务没有配置,所以才出现本机好使,远程不好使的情况。使用工具连接Oracle时,如sqlplus,sqldeveloper等不需要配置监听服务才能联通。

第二个再明确下各项直连参数的解释:

参数名

直连

说明

server

 

不需要

service

Sde:oracle11g

Oracle版本输入本机客户端版本,而不是服务器数据库版本

username

sde

 

password

sde@orcl81

@后面的字符指监听服务的名字,而不是数据库实例的名字

 

相关文章
|
13天前
|
安全 Linux 网络安全
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
|
12天前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
146 28
|
9天前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
101 13
|
22天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
|
24天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
70 10
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
116 0
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署
|
人工智能 数据可视化 数据管理
ArcGIS API for Python
ArcGIS API for Python
173 0
|
数据可视化 数据管理 API
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
arcgis api 3.X 修改自带弹窗样式 2022年6月12日
自带的弹窗介绍: arcgis api 3.X 修改自带弹窗样式插图 /*修改原有弹窗的css样式*/ /* 弹窗整体 */ .esriPopup { font-size: 16px; box-shadow: 10px 10px 5px #888888; } .esriPopup .sizer { position: relative; width: 400px; /* 弹窗宽度 */ z-index: 1; } /* 标题部分 */ .esriPopup .titlePane { background-color: rgba(7

推荐镜像

更多