您的位置:首页 > 数据库 > Oracle

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

2012-11-08 03:21 309 查看
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了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: