ArcGIS環境32位和64位引發問題的解

2021-07-09 15:16:22 字數 2365 閱讀 9143

arcgis10.1下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位數的客戶端安裝上去(微軟的官網上有說明:因此只需要安裝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位應用程式,資料庫連線請參考同桌面。

來自:

32位和64位的理解

大家都知道現在流行的作業系統是32位和64位的,都知道32位作業系統能 認出 4g以內的記憶體而64位的 可以認出多記憶體 2的64次方byte 簡稱大b,還有一種是小b,1個byte由8個bit組成 但是為什麼會64位的能認到的記憶體就多呢?先看一下概念 32位和64位 cpu一次處理資料的能力是...

32位 和 64位系統區別

1.32位系統cpu一次可處理32位資料,即一次處理4個位元組。64位系統cpu一次可處理64位資料,即一次處理8個位元組。通俗一點說 32位,就相當於你擁有32個工人,每次能完成32個工人的工作量 64位,就相當於你擁有64個工人,每次能完成64個工人的工作量 總結 由32位系統過渡到64位系統,...

32 位和 64 位 Windows識別

32 位和 64 位 windows 全部顯示 32 位和 64 位版本 windows 之間有什麼區別?術語 32 位 和 64 位 是指計算機的處理器 也稱為 cpu 處理資訊的方式。64 位版本的 windows 可處理大量的隨機訪問記憶體 ram 其效率遠遠高於 32 位的系統。我如何知道我...