不安装Oracle客户端进行的ArcSDE的直连配置步骤

背景

总所周知,ArcSDE从技术层次上具有两种连接方式:应用服务连接和直连方式,具体这两种方式的原理以及如何配置可以查看具体的资料的介绍,在此不进行详细的介绍了。其中直连方式相对于应用服务连接在很多方面具有优势,是Esri美国一直推荐给客户使用的连接方式,但是这种连接方式在大型项目上,尤其是项目的架构为CS时,很难应用起来,原因是直连方式需要每台使用ArcEngine开发的应用的机器上安装数据库的客户端,这在大型项目中是所有人都不能接受的,因为:

(1)   需要安装客户端的机器太多,工作量太大,某些项目上可能会到几百台机器。

(2)   安装完客户端的配置比较繁琐,需要具备一定数据库专业技能的人才能胜任。

(3)   使用ArcEngine的客户大部分都不具备专业的数据库技能,因此不能完成这个任务。

(4)   开发商和厂商具备这个能力,但是地点太多,机器太多,实际运行的成本太高。

因此如果用一种全自动的方式,如在安装ArcGIS应用程序的过程将该过程完成就OK了。


原理

直连使用的是ArcEngine中的SDE的动态库直接连接的数据库,因此只需要找到SDE的需要用到的数据库的动态库以及相关的配置文件就可以了。由于Oracle高版本的客户端可以访问低版本的服务器端,因此只需要找到Oracle11G中所用到的动态库后就可以访问所有的Oracle的版本了。


具体步骤

1.     使用vmware或者hyperv创建一个windows7虚拟机,并在该机器上安装相应于windows版本的32bit的Oracle11G客户端,在安装类型选择“管理员”.

 

2.     到安装arcengine runtime的bin目录下找到动态库sdeora11gsrvr100.dll,使用VC的depends工具打开,如下图,



找到红框中所标示出的动态库,以及oraplc11.dll,将其单独拷贝出来放到应用程序的bin目录中。

 

3 将%ORACLE_HOME%/oracore和%ORACLE_HOME%/nls两个目录拷贝到应用程序的主目录中。

 

4 新建环境变量ORACLE_HOME,并将值设置成应用程序的主目录路径。

 

5.新建NLS_LANG环境变量,值为SIMPLIFIEDCHINESE_CHINA.ZHS16GBK.

 

6 连接方式如下图:




其中需要解释的是密码部分的格式是:

password@IP:Port/ServiceName

 

其中密码是用户的密码

IP为数据库服务器的IP

Port:为数据库服务器监听器所监听的端口

ServiceName为数据库服务器坚挺所支持的服务

Port和ServiceName可以通过自行通过lsnrctlstatus来查看,如果是管理比较严格的数据库,可以询问DBA。


需要注意的方面

1.  oracle的客户端必须是32bit,因为ArcEngine的runtime和开发包都是32bit的。

2  oraplc11.dll动态库一定要拷贝出来,否则会出现一些问题。

3      连接的时候在service的地方一定要填写sde:oracle11g,因为你使用的是oracle11G客户端的动态库。

4  VC的depends工具我已经放到了http://download.csdn.net/detail/liufeng1980423/3999379了。

 



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值