天天看點

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

      衆說周知,ArcSDE空間資料庫引擎提供了兩種連接配接資料庫的方式。一是服務連接配接方式,一是直連方式。後者也是Esri所推崇的方式。但是,在客戶的生産環境和開發商的開發環境中這兩種方式都是有需求的。下面就以截圖說明的形式跟大家分享下在ArcGIS10.0和10.1中安裝和配置空間資料庫引擎的一般流程和注意事項。

  1.直連方式

  Esri之是以推薦使用直連方式,就是因為直連方式有明顯的優勢,可以給客戶帶來更大的效率和價值。

  a.直連方式的主要優勢:

    A.直連方式較服務連接配接方式解除安裝了20%-40%的負載;

    B.直連方式降低了伺服器端記憶體的需求;

    C.直連方式處理速度更快,在客戶機上執行處理;

    D.不需要安裝ArcSDE軟體。

  b.直連配置需求

  上面也說過了,直連方式省去了ArcSDE軟體的安裝步驟。但是它卻需要安裝相應的資料庫用戶端,後面都以Oracle11gR2為例。確定Oracle資料安裝配置正确後,需要知道sys使用者密碼、端口号、執行個體名、服務名。

  c.配置流程

  A.安裝和配置Oracle用戶端(32)

      對于ArcGIS Desktop連接配接來說,目前都需要安裝Oracle11gR2的用戶端,當然可以使用對應版本的免安裝用戶端,隻不過需要手動配置環境變量而已。

如果是安裝完database後,再安裝的client,那麼環境變量不需要手動修改。其内容如下:

E:\app\weihu\product\11.2.0\client_1\bin;E:\app\weihu\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin

  然後,需要使用用戶端的NetManager工具配置服務名,如下圖的arcsde。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

  對于免安裝的用戶端,需要手動配置network/admin下的tnsnames.ora檔案。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

B.ArcGIS Desktop連接配接參數設定

完成Oracle用戶端安裝後,就可以在ArcGIS桌面中進行連接配接了,其設定參數和連接配接方式在ArcGIS Desktop不同版本稍有差別。

  a.ArcGIS Desktop10.1

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

10.1中在ArcCatalog裡面的資料庫連接配接中添加空間資料庫連接配接,如上圖。指定參數資料類型、執行個體(\\ip:port\servicename 可以參考左下角的Abort Database Connections)、認證。

  b.ArcGIS Desktop10.0

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

直連方式在10.1與10.0中差異較小,注意相關參數,主要是機器(ip)、服務(sde:oracle11g:服務名[arcsde:使用用戶端配置的參數])、認證相同,如上圖。

2.服務連接配接方式

a.服務連接配接優勢

對于很多實施人員來說,他們的應用可能比較簡單,需要考慮的主要是實施部署的便捷。那麼服務連接配接的優勢就展現出來了。不需要用戶端安裝和配置。

b.軟體安裝與配置

對于服務連接配接方式,都需要安裝ArcSDE for對應資料庫版本的軟體包。這個在ArcGIS10.1和ArcGIS10.0中差别較大。

A. ArcGIS10.1中ArcSDE的安裝與配置:

找到對應資料類型和版本的軟體安裝包安裝即可,沒有Post Install的向導。在軟體安裝完成後來使用指令建立sde服務。

找到ArcSDE安裝目錄下的service.sde檔案取消esri_sde 5151/tcp前面的#号注釋。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

同時,找到Windows中的service(system32/drivers/etc)檔案添加一行esri_sde 5151/tcp。

然後使用指令sdeservice建立sde服務,如下圖,參數包括資料庫類型、執行個體名稱、sde使用者密碼、服務名等。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

服務配置成功後,就可以在ArcGIS Desktop中連使用服務連接配接了。但是10.1中服務連接配接需要使用工具建立連接配接檔案,然後連接配接,而不能像10.0中直接使用服務名或者5151連接配接。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

使用Workspace工具箱中的Create ArcSDE Connection File工具來建立連接配接檔案。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

參數:連接配接檔案存放位置、檔案名、機器、服務名稱(esri_sde)、資料庫名、認證等。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

上圖輕按兩下或者使用添加資料按鈕指定到該檔案,就可在ArcGIS Desktop10.1中完成空間資料庫的服務連接配接。

B.ArcGIS10.0中ArcSDE的安裝與配置:

在ArcSDE10.0中提供了Post Install的向導,更能展現服務連接配接的便捷。向導可以完成的配置如下圖:

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

初次安裝選擇全部,然後下一步可以實作Oracle資料庫連接配接檢查(確定執行個體運作正常)。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

接下來,可以設定sde的使用者名和密碼,建立sde表空間。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

然後,設定服務名、端口号、機器名,Oracle執行個體名等,如下圖。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

按照Post Inatall向導設定參數,最後完成授權,這樣就完成10.0環境的服務連接配接安裝與配置。不需要使用指令行建立服務,直接可以在ArcGIS Desktop中設定參數就可以連接配接了。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

在ArcGIS10.0中服務方式連接配接和直連都可以使用ArcCatalog中空間資料庫連接配接的節點,設定參數進行連接配接,唯一不同就是服務參數。服務連接配接輸入esri_sde或者5151即可,直連需要輸入sde:oracle11g:arcsde,具體可以對比相關截圖。

3.ST_Geometry配置

      ST_Geometry是一種遵循ISO和OGC規範的,可以通SQL直接讀取的空間資訊存儲類型。采用這種存儲方式能夠更好的利用Oracle的資源,更好的相容Oracle的特征。Esri的ArcSDE9.2開始支援這種存儲類型。

      A.ST_Geometry主要優勢

ST_Geometry的優勢主要展現在以下幾個方面:

  A.可以通過SQL函數直接通路空間資料;

  B.使用SQL語句操作空間資料可以和其他類型資料一樣便捷;

  C.可以通過存儲過程來進行複雜的空間資料檢索和分享;

  D.其他業務系統可以通過SQL語句來通路Geodatabase中的資料;

ST_Geometry配置的方式

      值得注意的是在配置ST_Geometry時,需要根據資料庫的版本和位數來安裝對應版本的ArcSDE軟體(比如Oracle是Win64_11gR2_database,就需要安裝ArcSDE for Oracle 11g64位軟體)。主要是包括配置需要引用的動态庫(st_shapelib.dll、pe.dll、sg.dll)。

官網給出了兩種配置方式:

http://support.esri.com/en/knowledgebase/techarticles/detail/38043

相關資訊:

http://help.arcgis.com/zh-cn/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/na/0093000015qp000000/

A. 配置listener.ora和tnsnames.ora檔案方式;

在保證資料庫監聽配置正常的情況下,添加以下資訊。

首先,在Oracle的安裝目錄下(%ORACLE_HOME%\Network\Admin\)找到tnsnames.ora檔案;添加EXTPROC_CONNECTION_DATA資訊如下:

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

    (CONNECT_DATA =

      (SID = CLRExtProc)

      (PRESENTATION = RO)

    )

  )

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

其次,找到(%ORACLE_HOME%\Network\Admin\)下的listener.ora在SID_LIST_LISTENER下添加:

(SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = EXTPROC)

      (ENVS = "EXTPROC_DLLS=C:\ArcSDE\ora11gexe\bin\st_shapelib.dll,PATH=C:\ArcSDE\ora11gexe\bin")

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

注:

A.路徑中最好不要有空格;

B.以上配置需要注意兩個檔案listener.ora和tnsnames.ora中的SID和KEY一緻。

不然會出現如下錯誤提示:

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

確定配置正确後,重新開機Oracle監聽(lsnrctl stop、 lsnrctl start);

最後,通過指令測試ST_Geometry配置是否正常。

SQL> select * from user_libraries;來檢查st_shapelib.dll的位置配置。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

如果不是正确的dll路徑(還有對應位數64/32)可以通過以下指令修改:create or replace library ST_SHAPELIB as 。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

以上指令僅能說明dll位置配置是否正确,能否正常工作應該通過SQL函數來判斷:

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結
ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

如上圖,ST_ASTEXT函數能夠正确輸出資訊,說明ST_Geometry配置成功。

  1. 配置extproc.ora方式;

在Oracle的安裝目錄下,找到%ORACLE_HOME%\hs\admin\下的extproc.ora檔案,設定SET EXTPROC_DLLS參數。

EXTPROC_DLLS=ONLY:C:\\ArcSDE\\ora11gexe\\bin\\st_shapelib.dll或者EXTPROC_DLLS=ANY。需要注意的是後者需要拷貝st_shapelib.dll、pe.dll、sg.dll三個庫檔案到Oracle安裝目錄(%ORACLE_HOME%\BIN)下。檢查方法同上。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

4.空間資料注冊

     對于開發商或者使用者來說,他們除了做好空間資料庫的配置外。還會牽扯資料組織以及服務釋出等問題。在ArcGIS Server10.1中提供了空間資料庫和檔案夾注冊的功能。其實,檔案夾的注冊就類似于ArcGIS Server10.0中我們需要設定資料存儲目錄,共享并且設定權限來進行資料的組織。Server10.1中注冊資料庫和檔案夾還有一個作用就是滿足生産資料和釋出服務資料一緻的需求。在不注冊的狀态下,釋出服務時,會将服務相關資料上傳到GIS伺服器,這樣不僅增加存儲空間,尤其是影像資料。而且會延長服務釋出的時間。是以,我們一般推薦将GIS資料組織在注冊過的檔案夾或者空間資料庫中來,提高工作效率。ArcGIS Server10.1中注冊資料庫和檔案夾的方式有桌面端和Manager網頁端兩種。

A.桌面的伺服器連接配接屬性設定:

在ArcGIS桌面的ArcCatalog中有GIS伺服器連接配接的節點,點選可以添加GIS伺服器,在GIS伺服器的連接配接上右鍵屬性可以打開下面的對話框,在Data Store中可以注冊資料庫和檔案夾,并驗證。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

B.ArcGIS Server Manager頁面中設定

在Server10.1的Manager頁面中,點選站點——GIS伺服器——資料存儲,可以找到下圖的配置頁面,注冊方式與桌面端類似。

ArcSDE資料庫連接配接(直連、服務連)與GT_Geometry存儲配置圖解 3.ST_Geometry配置 4.空間資料注冊  5 .總結

 5 .總結

      空間資料庫引擎ArcSDE的直連方式和服務連接配接方式分别适用不同的應用場景。直連方式由于在客戶機上執行處理,是以,它不僅處理速度較快、而且還能夠降低伺服器器端記憶體的消耗和負載。是以,推薦大家使用直連方式,并且在釋出服務時注冊相關資料庫和檔案夾。但是,由于直連方式需要安裝資料庫用戶端,配置相對比較繁瑣。對于并發量較小的簡單應用使用服務連接配接方式可能會更加便捷。此外,ST_Geometry存儲格式可以讓GIS專業人員通過SQL來友善、快捷、高效的操作空間資訊就像操作其他資料一樣,是以也推薦大家使用。