Map 3D 和 MapGuide使用FDO(Feature Data Object)技術可以無需轉換的訪問各種資料格式,包括SDF、SHP、raster資料,和 Sql Server Spatial,MySql,PostgreSQL和Oracle。
我在台式機(Win 7 32bit)上安裝了Oracle 11g R1做資料庫伺服器,我的筆記本用的是Win 7 64, 所以我決定裝一個x64的Oracle 用戶端。我配置Oracle其實是想配置一個Map 3D 2012/ AIMS 2012中關於企業行業模型(Enterprise Industrial Model)的環境,看了一下系統需求, Win7的話需要Oracle 11g R2的用戶端,於是按照要求在筆記本上安裝了Oracle 11g R2 x64的用戶端。
安裝過程都蠻順利,很快就安裝完畢了。然後開始配置本地服務名,開啟Net Manager(在安裝過程中也可以通過 Net Configration Assistant嚮導來配置,不過我一般喜歡用Net Manager),點左上方的加號,取一個容易記的名字,比如Oracel_MyPC,
在下一步中選擇TCP/IP協議:
在第3頁中,主機名稱填寫我安裝了Oracle 伺服器的機器名,連接埠就預設的1521。這裡需要提醒一下,如果你需要像我一樣從其他的電腦來訪問Oracle服務,需要在安裝Oracle伺服器的機器上開啟1521連接埠。如果你的oracle伺服器和用戶端都安裝在本地,那就簡單了,主機名稱填127.0.0.1就行了。
這裡填寫安裝Oracle伺服器時的服務名,一般是ORCL:
至此設定完畢,不放心可以測試一下,不過確保你用了正確的使用者名稱,預設的那個scott可能因為是鎖定狀態,測試不成功從而誤導你以為是這個配置有錯。不過只要你的防火牆連接埠開啟,上面的幾個參數沒填錯的話,一般沒問題。
設定完畢,記得儲存網路設定。
好了,現在就在MapGuide裡試試看,開啟Autodesk Infrastructure Studio 2012, 如果你用MapGuide 2011的話那就是MapGuide Studio 2011. new一個Data Connection,選擇Autodek FDO Provider for Oracle:
輸入上面定義的本地服務名和使用者密碼,我的Oracle 資料庫已經事先通過Map 3D 的BulkCopy考了一些GIS資料進去了。
但是會提示下面的錯誤資訊:
Unable to complete request to Site
---------------------------
An exception occurred in FDO component.
The runtime was not found (module 'OCI.dll'). Please verify your Oracle client component installation.
---------------------------
尋找原因就在於沒有正確設定PATH和Oracle_Home環境變數:
在系統內容變數中把Oracle 用戶端的路徑C:\Oracle\product\11.2.0\client_1\bin;加入到PATH變數中;同時設定Oracle_Home變數的值為C:\Oracle\product\11.2.0\client_1,注意後面不要帶“\”. 重啟電腦。
再從安裝上面的方法從MapGuide Studio中串連oracle ,選擇DataStore,version為LIVE,點擊“Test Connection”按鈕,應該顯示已經正常串連。
剩下的就是建立圖層Layer和一起的方法一致,不再重複了,不清楚的同學翻一前的老文章或者看MapGuide Studio的協助。
Map 3D中串連oracle的方法也類似,在TaskPane中點Data,選擇Connect To Data,開啟Data Connection視窗,選擇Add Oracle Connection,串連名輸入框中輸入上面設定好的Oracle網路服務名,點login按鈕登入,注意不能用sys等DBA使用者登入。通過驗證後可以選擇Data Store和Version,串連即可。
成功串連後,你就可以看Oracle資料庫中的圖層,選中一些圖層,點Add to map按鈕即可在Map 3D中開啟該圖層。
自己實驗一下吧。