環境說明
客戶端機器環境:
① Win7 SP1 64位
② ArcGIS Desktop 10.2 32位
③ ArcGIS Server 10.2 64位
服務器環境
① Windows Server 64位
② Oracle 11g 64位
問題
問題原因分析
① 要從 ArcGIS for Desktop 連接到 Oracle 中的數據庫或地理數據庫,請在 ArcGIS for Desktop 計算機上安裝 Oracle 客戶端,並將 PATH 環境變量設置爲 Oracle 客戶端的位置,然後在目錄樹中創建連接文件。
② ArcGIS Server的機器上需要安裝64位Oracle客戶端。
③ ArcMap的機器上需要安裝32位Oracle客戶端。
解決辦法
1、安裝Oracle客戶端
要建立從客戶端計算機到 Oracle 數據庫的連接,必須在客戶端計算機上安裝 Oracle 客戶端應用程序。同時,請確保您所安裝的 Oracle 客戶端應用程序的版本與要連接到的數據庫版本相兼容。
下載instantclient_11_2的32位版本和64位版本,分別安裝。如64位安裝於D:\Program Files\instantclient_11_2,32位安裝於D:\Program Files (x86)\instantclient_11_2。
注:如果從 32 位 ArcGIS 客戶端進行連接,則必須安裝 32 位 Oracle 客戶端。即便是將 ArcGIS 客戶端應用程序安裝到一臺 64 位操作系統 (OS) 的計算機上,且數據庫和服務器的 OS 均爲 64 位,也是如此。如果從 64 位 ArcGIS 客戶端進行連接,則必須安裝 64 位 Oracle 客戶端。
2、設置PATH變量
將 ArcGIS for Desktop 上的 PATH 環境變量設置爲 Oracle Client 安裝程序的位置。
注:如果 ArcGIS for Desktop 和 ArcGIS for Server 安裝在同一臺 Windows 計算機上,則請將 PATH 變量設置爲先讀取 64 位客戶端,後讀取 32 位客戶端。例如,如果 32 位 Oracle Instant Client 安裝在 c:\Program Files (x86)\Oracle 下,64 位 Oracle Instant Client 安裝在 c:\Program Files\Oracle 下,則將以下內容添加到 Window 中 PATH 變量值的開始位置: C:\Program Files\Oracle;C:\Program Files (x86)\Oracle;
修改ArcGIS所在客戶端計算機的PATH變量,增加如下內容:D:\Program Files\instantclient_11_2;D:\Program Files (x86)\instantclient_11_2
如果在設置 PATH 變量前在計算機上運行 ArcGIS for Desktop,則重新啓動 ArcGIS for Desktop 以選擇新的設置。
如果要將Oracle數據庫註冊到ArcGIS Server,需要先手動重啓ArcGIS server服務(或者重啓計算機)以確保服務進程能夠讀取到oracle的 dll。
以上步驟配置完成後,在ArcMap裏再連接Oracle,成功;向ArcGIS Server註冊Oracle數據庫,成功。
Esri官網所推薦的配置如下:
總結
簡單來說,對於ArcGIS產品,是多少位的ArcGIS客戶端,就需要配套多少位的Oracle客戶端。
如32位的ArcGIS Desktop,連接Oracle數據庫時需要配置32位Oracle客戶端;63位的ArcGIS Server客戶端,向其註冊Oracle數據庫時,需要配置64位Oracle客戶端。
如果同時配備64位和32位的Oracle客戶端,設置環境變量時將64位Oracle客戶端目錄寫在前面,32位的寫在後面。