特别说明:因为该问题,我确实遇到过,写下了这篇文章,以做记录。但是今天由于相关问题又做了一个测试,在同一台机器上,安装了ArcGISDesktop10.2,ArcGIS Server 10.2,ArcSDE 10.2 Oracle 11.2.0.3 64Bit服务器端 Oracle 11.2.0.1 32Bit的客户端(我的客户端是后安装的)是不需要修改环境变量,桌面可以直连数据库,ArcGIS server也可以发布服务的。而且咨询了同事,也有很多这样的环境,没有问题!
可能把原来的一个特例当成问题了,希望不会给大家带来误解,非常抱歉!
------------2013年11月6日
最好的解决方法:
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
下载32Bit和64Bit的 Instant Client,然后解压缩到某个地方,然后在环境变量添加引用即可。
------------2014年3月19日
一直以来,Esri的产品只有ArcSDE有32Bit和64Bit之分,但是自从ArcGIS10.1的推出,ArcGIS Server10.1也成为了64Bit的产品,而且ArcSDE10.1又有新的安装模式由原来的Post想到或者sdesetup安装到ArcGIS桌面直连安装,那么这就出现了一个令人纠结的问题:
假如用户一台机器上既安装了ArcGIS Desktop,又安装了ArcGIS Server,那么纠结的事情就出来了,假设我们要对另外一台数据库服务器进行创建SDE库,因为ArcGIS Desktop10.1是32Bit的程序,我们需要安装32Bit的oracle客户端才能直连,但是如果需要发布相关的ArcGIS Server服务的话,因为ArcGIS Server10.1是64Bit程序,如果发布的是直连的MXD,那么就需要安装64Bit的oracle客户端,也就是说你的机器上既需要安装32Bit的数据库客户端也需要64Bit的数据库客户端。
这还不是最郁闷的,最郁闷的是,对Windows操作系统来说,他们只认定最前面的环境变量
C:\Users\Administrator>path PATH=C:\Program Files (x86)\Common Files\NetSarang;D:\app\Administrator\product\11.2.0\client_1\bin;D:\app\Administrator \product\11.2.0\dbhome_1\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common F iles\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPo werShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files \ThinkPad\Bluetooth Software\syswow64;;C:\Program Files (x86)\EmEditor;C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin;C:\P rogram Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE \;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\I DE\PrivateAssemblies\;C:\Program Files\ArcGIS\ArcSDE\sqlexe\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell;C:\Program Files\Intel\ WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\也就是说,如果你需要直连的话,你需要将32Bit的数据库客户端的环境变量放到前面,如果你需要ArcGIS Server发布直连服务时,你需要将64Bit数据库客户端的环境变量放到前面,这就让人很郁闷了,因为这种情况非常多。
上面是将桌面和Server放在一台机器上,那么如果不放到一台机器上,你也会碰到这样的问题。
Esri已经发布了ArcGIS 10.1的SP1补丁,这个补丁的亮点之处就是可以支持后台的GP 64Bit运行,这样就会很好的利用相关的内存以达到性能需求。但是也请看看如下参考:
http://resources.arcgis.com/en/help/main/10.1/index.html#/Background_Geoprocessing_64_bit/002100000040000000/
ArcMap and ArcCatalog are 32-bit applications that communicate with database management systems (DBMS) through 32-bit client libraries regardless of whether the database is 32 or 64 bit. The 64-bit version of background processing requires 64-bit client libraries to make a connection. For example, if you're using tools with 64-bit background processing and enterprise geodatabase data, you'll need to make sure you have both the 32 and 64-bit client libraries installed on your machine. ArcGIS for Desktop will continue to use the 32-bit libraries, and background will use the 64-bit libraries.
目前还没有测试是否需要修改环境变量来切换使用方式。
注意:一开始我以为安装了64Bit的GP SP1包直连就不用32Bit了,可惜测试结果不行。看看帮助才知道
Tools that do not run in the background include:
以上情况只针对oracle 数据库,如果你是使用的SQL Server数据库,那么如果你是在64Bit的操作系统下安装,只需要安装64Bit的SQL Server客户端即可。
如果在使用过程中出现类似错误
"error 000229 : Cannot Open <value>" • "error 000622 : Failed to execute (<value>). Parameters are not valid." • "error 000732 : <value>: Dataset <value> does not exist or is not supported."就是这个问题:http://support.esri.com/en/knowledgebase/techarticles/detail/40675
关于SQL Server 64Bit,感谢@ArcGIS_CS同学的支持,SQL Server官网上说,如果安装了64Bit的客户端,也一并安装32Bit的客户端
参考:http://technet.microsoft.com/zh-tw/library/ms144259(v=sql.105)
说了这么多,导致以上情况的罪魁祸首就是ArcGIS Desktop,因为ArcGIS Desktop10.1还是32Bit的,所以让我们尽情期待64Bit的桌面赶紧到来吧!
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
------------------------------------------------------------------------------------------------------