當前位置:成語大全網 - 書法字典 - 如何用ArcGIS10.1連接數據庫(轉載)

如何用ArcGIS10.1連接數據庫(轉載)

如何用ArcGIS 10.1連接數據庫最近在使用ArcGIS 10.1的數據庫,在使用的過程中發現了與以往不同的地方。在這裏,我將我的經驗和想法分享給大家(使用Postgresql)。根據使用流程,我會把內容分成兩部分(這兩部分是我用完後分開的。

ArcGIS 10.1如何連接數據庫?

最近在使用ArcGIS 10.1的數據庫時,發現了與以往不同的地方。在這裏,我將我的經驗和想法分享給大家(使用Postgresql)。根據使用流程,我會把內容分成兩部分(這兩部分是我用完後分開重新整理,穿插自己的想法。歡迎與我們交流。),10.1不需要安裝arcgis sde。可以通過工具直接在Oracle上建立空間數據庫,直接鏈接。

如何通過直連的方式連接數據庫?

1,ArcGIS 10.1統壹數據庫連接,即不通過OLEDB模式區分空間數據庫連接和關系數據庫連接。

左圖是10.1下的截圖,右圖是10.0下的截圖。

2.在目錄中只能采用直接連接;

3.在ArcGIS 10.1版本中,Esri提供的安裝介質不再包含Postgresql(之前包含);

4.安裝Postgresql時,官方軟件要求是64位,所有企業數據庫都是64位(這個應該和服務器有關,因為服務器10.1是純64位,桌面軟件DatabaseSupport目錄中給出的幾個dll都是64位,後面會用到。官方軟件要求如下:

數據庫?資料庫

支持的操作系統

最低操作系統版本

最高操作系統版本

PostgreSQL 9.0.5 (64位)

red Hat Enterprise Linux Server 5(64位)

更新7

red Hat Enterprise Linux Server 6(64位)

SUSE Linux企業服務器11 (64位)

SP1

Windows Server 2003標準版、企業版和數據中心版(64位[EM64T])

SP2

SP2

Windows Server 2008 R2標準版、企業版和數據中心版(64位[EM64T])

SP1

5.配置PostgreSQL的客戶端。因為直連方式要求ArcSDE的客戶端必須安裝數據庫的客戶端類庫,所以需要先獲取PostgreSQL的客戶端。ArcGIS Desktop是壹款32位軟件,需要32位PostgreSQL類庫。找到PostgreSQL的客戶端,或者將libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、ssleay32.dll的32位文件復制到其他機器上桌面安裝目錄的bin目錄下;

6.復制st_geometry.dll,將st_geometry.dll文件復制到桌面安裝目錄下數據庫support/PostgreSQL/Windows 64(見64)目錄下PostgreSQL的lib目錄下。在PostgreSQL中創建地理數據庫時,必須使用此類庫;

7.配置pg_hba.conf,修改PostgreSQ的pg_hba.conf文件,添加?主機所有所有0.0.0.0/0 md5?(該文件的配置請參考相關資料);

8.安裝SDE後,發現沒有以前的post界面。在10.1中,工具箱中提供的工具用於創建企業級地理數據庫。換句話說,以前的帖子被工具箱裏的壹堆工具代替了。

9.創建地理數據庫

10.1在創建地理數據庫時,提供了Oracle、SQL Server和Postgresql三種工具。我們使用這個工具來創建壹個地理數據庫。這個過程相當於早期的POST過程,創建壹個數據庫,寫壹堆系統表等。創建界面如下:

成功創建後,您可以在pgAdmin中看到數據庫sde,並看到許多系統表,如下所示:

10,連接地理數據(直連);

上面說了ArcGIS 10.1統壹了數據庫連接,那麽如何判斷是關系數據庫還是空間數據庫呢?其實這個並不難,因為在創建空間數據庫的時候,我們同時創建了壹個用戶名和壹個密碼,那麽用這個用戶名連接並選擇創建的數據庫,那麽這個數據庫就是空間數據庫,連接界面如下:

連接成功後,我在數據庫中創建了壹個特征數據集,添加了壹些數據,做了壹個拓撲分析(這樣做的目的不是做拓撲,而是驗證拓撲分析能不能做,所以不討論拓撲分析的結果)。結果如下:

用同樣的方法做壹個幾何網絡,效果如下:

現在我們來思考壹個問題。我們使用直接連接來訪問數據庫。妳覺得少了什麽嗎?我們會思考如何使用過去的數據庫。首先,我們安裝了關系數據庫(Postgresql),然後我們安裝了ArcGIS SDE for postgresql,但我們沒有安裝。然後我們創建數據庫並連接它。從整個過程來看,我們沒有安裝SDE,那麽為什麽我們也可以創建壹個空間數據庫呢?

這是我自己找到的。當初我確實安裝了SDE,但是我發現這次安裝不希望彈出ArcGIS 10或者之前的post界面,安裝後沒有任何反應。我去了安裝目錄,發現這個安裝其實解壓了壹些東西,但是我的空間數據庫還沒有建立。後來發現連接數據庫的時候,沒有服務選項。壹開始我以為這個安裝和我連接數據庫沒關系,就卸載了。根據:/en/help/main/10.1/index . html #/setting _ up _ a _ geodatabase _ in _ PostgreSQL/002 p 000000010000000/,我仔細看了壹下,發現這個過程在不安裝SDE的情況下確實是可以實現的。結論:如果使用直連,ArcGIS 10.1不需要安裝SDE的任何組件。新的問題來了。我們知道,在以前的版本中,SDE的另壹種方式是服務連接。如何使用服務連接?

如果我們細心的話,可以發現在安裝SDE的時候,有兩個組件需要我們安裝:

根據組件右邊的描述,我們知道這個安裝是針對服務連接的,也就是說,如果我們要使用服務連接,我們需要安裝SDE。如何創建服務,如何使用服務連接(我們明顯看到連接中沒有服務選項)是我們接下來要討論的問題。

如何使用服務連接數據庫?

服務連接的附加步驟

安裝arcsde for PostgreSQL 10.1;

修改ArcSDE安裝目錄中的services.sde文件和Windows中的hosts文件,並添加?esri_sde 5151/tcp?記錄;

創建ArcSDE服務。鍵入以下兩個命令在註冊表中創建服務:sdeservice-ocreate-d PostgreSQL,PostgreSQL-x64-9.0 sdeservice-or register-d PostgreSQL,PostgreSQL-x64-9.0-radmin _ database-vsde。

啟動服務。妳會用嗎?斯德蒙?o開始?從Windows服務面板中命令或啟動ArcSDE服務;

建立聯系。在目錄中只能創建直接服務,因此您需要使用新的創建ArcSDE連接文件GP工具來創建ArcSDE服務連接文件。成功創建後,在目錄中找到這個連接,雙擊打開它。

通過這個工具,如果我們的數據庫是ArcGIS 10或者之前的版本,采用的是服務模式,那麽我們在使用10.1的時候應該會用到這個工具(沒有測試,據我推測是向後兼容)。