ArcGIS10.1不得不说的故事

特别说明:因为该问题,我确实遇到过,写下了这篇文章,以做记录。但是今天由于相关问题又做了一个测试,在同一台机器上,安装了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.

节选一下相关说明,可以看到,如果想使用GP的64bit 环境运行,要安装64Bit的客户端,再加上如果需要直连还是需要32Bit的客户端,令人纠结的事情又发生了。

目前还没有测试是否需要修改环境变量来切换使用方式。

注意:一开始我以为安装了64Bit的GP SP1包直连就不用32Bit了,可惜测试结果不行。看看帮助才知道

Unsupported tools

Tools that do not run in the background include:

  • Tools inside the Metadata conversion toolset
  • Tools inside the Geodatabase administration toolset
  • All Coverage tools
  • Graphing tools (64-bit geoprocessing only, these tools work in traditional 32-bit background processing)
  • Custom script, model, or function tools where the author has disabled background processing

以上情况只针对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的桌面赶紧到来吧!


-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
------------------------------------------------------------------------------------------------------

你可能感兴趣的:(ArcGIS10.1不得不说的故事)