Failed to connect to the specified server. Server library could not be loaded

来源:互联网 发布:科贝尔 知乎 编辑:程序博客网 时间:2024/06/05 21:11

这个错误是前几天用户提出了的,我今天又一次遇到了,特拿出来跟大家分享一下

问题背景:
使用ArcCatalog直连远程服务器,数据库为Oracle,提示“Error: Server library could NOT be loaded”

原因有三

1:大家都知道使用直连必须要安装数据库客户端,但是如果用户安装了Oracle的64位客户端与32位的ArcGIS桌面进行直连时,32位程序不可能加载64位的OCI.dll所以会出现这个问题

解决办法:截至到目前为止,如果ArcGIS桌面机器上需要安装数据库Oracle的客户端,必须安装32位的,如果安装64位客户端肯定会有问题,上面的错误就是一个例子


2:如果ArcSDE 8.3, 9.0, 9.1, 9.2这些版本,但是ArcGIS桌面直连该版本下的ArcSDE,如果ArcGIS桌面版本或者一些SP补丁与ArcSDE版本或者SP补丁不能完全匹配的话,还是会报上面的错误信息

解决办法:查看客户端和服务器端的版本以及相关的Service Patch版本,更新一致即可


3:也就是我今天所犯的问题,我的客户端是32位的,我的ArcSDE是10版本,跟上面的都不一样,但是还是报上面的错误,为什么呢?

服务器数据库为Oracle 10.2.0.4 64位 ArcSDE10
我的机器的数据库客户端Oracle11.1.0.6 32位
那么我直连时我的service应该填什么呢?如果你直接使用sde :oracle10g来连接肯定会报上面的错误的。因为使用该服务名,系统会找本地的C:/Program Files (x86)/ArcGIS/Desktop10.0/Bin/sdeora10gsrvr100.dll,这个dll就会找Oracle10g的oci.dll,但是我本地并没有装Oracle10g,所以报上面错误。
解决办法

service项应该填写数据库客户端的版本才对sde : oracle11g才可以


引用:http://blog.csdn.net/linghe301/article/details/6318508

原创粉丝点击