• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
bobird的学习笔记
博客园    首页    新随笔    联系   管理    订阅  订阅
不安装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了。

posted on 2013-08-15 08:49  bobird  阅读(1973)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3