当前位置: 代码迷 >> CGI >> ArcGIS10.1上32位和64位引发有关问题解决方案
  详细解决方案

ArcGIS10.1上32位和64位引发有关问题解决方案

热度:738   发布时间:2012-11-22 00:16:41.0
ArcGIS10.1下32位和64位引发问题解决方案

继server成为64位后,64位的后台GP也已问世,而Desktop、Engine依然32位,使用中因这32位和64位引发的问题随之而来。这些问题有的在产品帮助中提供了相应的解决方案,特总结一篇,供大家参考。


1、ArcGIS Desktop和ArcGIS Server连接SDE数据库

   (1)Oracle
    如果ArcGIS Desktop和ArcGIS Server安装在一台服务器上,则需要同时安装32Bit和64Bit的数据库客户端。这是因为ArcGIS Desktop10.1是32Bit的程序,我们需要安装32Bit的oracle客户端才能直连,但是如果需要发布相关的ArcGIS Server服务的话,因为ArcGIS Server10.1是64Bit程序,如果发布的是直连的MXD,那么就需要安装64Bit的oracle客户端。
     Windows操作系统只认最前面的环境变量,因此直连的话,需要将32Bit的数据库客户端的环境变量放到前面,如果是ArcGIS Server发布直连服务,需要将64Bit数据库客户端的环境变量放到前面。
    如果ArcGIS Desktop和ArcGIS Server安装在不同机器上,则也需要注意以上问题,即Desktop连接需要装32位数据库客户端,而Server连接则需要装64位客户端。
   (2)PostgreSQL   

    如果ArcGIS Desktop和ArcGIS Server安装在一台服务器上,则需要同时安装32Bit和64Bit的数据库客户端库。 

    64 位客户端(Server)连接到 PostgreSQL 数据库所需的客户端文件包括 libeay32.dll、libintl.dll、libpq.dll 和 ssleay32.dll,将这些dll文件拷贝到Server安装目录BIN目录下;

    32 位客户端(Desktop、Engine)连接到PostgreSQL 数据库所需的客户端文件包括 libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll,将这些文件拷贝到Desktop安装目录BIN目录下

    如果ArcGIS Desktop和ArcGIS Server安装在不同机器上,同样也需要注意这些问题。
   

   (3)SQL Server
    SQL Server安装64位客户端时同时会将32位数的客户端安装上去(微软的官网上有说明:http://technet.microsoft.com/zh-tw/library/ms144259(v=sql.105)),因此只需要安装64Bit的SQL Server客户端即可。


2、后台GP 64位运行

    如果要使用自定义的后台64位GP,请确保自己的电脑上安装了64位的Python2.7.2, NumPy 和Matplotlib,如果自己的电脑上安装了ArcGIS for Server 10.1,那么64位的Python也会被安装(默认路径:C:\Python27\ArcGISx6410.1),这个后台处理会使用Server的64位Python,如果自己的电脑上没有64位的Python,那么安装64位后台处理程序的时候,会自动安装64位的Python.
   如果连接企业级空间数据库,需要安装64位数据库客户端,直连还需要32Bit的客户端,64位GP用64位客户端,桌面使用32位客户端。注意有些工具不能够在后台运行,不能再后台运行的工具有:
    *Metadata conversion(Conversion Tools)工具集中的工具
    *Geodatabase administration(Data Management Tools)工具集中的工具
    *所有Coverage Tools
    *绘图工具(Graphing tools,只能是传统的32位后台处理)
    *已被用户禁用后台处理的自定义脚本、模型或函数工具
   【注意】:自定义脚本工具可能会使用64位进程,需要确保脚本工具中没有调用任何不支持的工具。脚本工具可以在后台执行,但如果调用不支持的工具可能会导致失败。


3、自定义函数工具(dlls)

    自定义工具如果被注册或进行正确的配置后,就可以使用64位后台地理处理。

    对于使用譬如C++这种非托管语言所开发的工具来说,需要同时在32位和64位环境中做编译并都需要在32位和64位环境中进行注册。

    而对于譬如C#这种托管语言所开发的工具来说,则只需要创建编译器的CPU类型为“Any CPU”的DLL(编译一次即可)然后在32位和64位环境中都进行一下注册,就可以使用64位后台地理处理了。


4、ArcGIS Engine 程序连接SDE数据库

    ArcGIS Engine是32位应用程序,数据库连接请参考同桌面。

    

  相关解决方案