ArcGIS 10.1中的Desktop連接ArcSDE——以Oracle爲例

轉自http://m.blog.csdn.net/blog/esricd/8028846
ArcGIS從10.1以後,SDE這個產品的連接方式發生了很大的改變,剛剛安裝好ArcMap的時候,打開原來用來建立SDE連接的節點,頓時傻眼了,

這東西怎麼使啊?經過一頓找資料以後發現:原來以後的ArcSDE推薦都是採用直接連接的方式,那麼我們先看看採用直連怎麼連接SDE吧。

直接連接Oracle數據庫

筆者使用Oracle數據庫比較多,相信中國政府用戶中使用Oracle的應該也是最多的,本例中採用Oracle 11g數據庫作爲試驗數據庫。

安裝列表:

Oracle database 11g R2 64bit

Oracle Client 11g R2 64bit

ArcGIS for Desktop

這裏有個問題需要說明一下:因爲從10.1以後,訪問SDE推薦採用直接連接數據庫的形式,因此連接數據庫也就選用了各自的數據庫客戶端進行訪問管理,因此,Oracle Client是必須安裝的。選用的版本根據裝ArcGIS for Desktop的操作系統來定,比如筆者是在本機(Win7 64bit)安裝Oracle和ArcGIS for Desktop那麼就需要選用64位的客戶端,如果Oracle安裝在64位的服務器上,而需要進行數據連接的安裝了Desktop的機器是32位的,那麼就需要在訪問機器上安裝32位的客戶端。

當然,細心的您一定發現了,這裏有一個非常之重要的東西沒有安裝——ArcSDE for Oracle!!

這是因爲採取直連的方式,我們並不需要SDE爲我們建立表什麼的,如果想要建立SDE數據庫,我們直接用ArcMap裏面的工具創建即可,因此採用直連方式連接數據庫,並不需要安裝ArcSDE!!!

在使用Desktop連接數據庫之前,先測試數據庫的訪問是否正確:

使用Sys作爲sysdba登陸成功,好了現在建立一個用來測試的TEST用戶。

用戶的基本情況如下:

可以看到這是一個空的沒有任何對象在用戶下面的乾淨用戶,所有的權限就是連接數據庫和創建數據庫資源對象。

在ArcMap中雙擊那個讓人無從下手的連接,填寫連接屬性如下:

其他選項都是沒有什麼技術含量的但是中間的Instance比較令人糾結,查找幫助中有這樣的文檔:ArcGISfor Desktop中的數據連接

本例中是本機,且服務名爲orcl因此填寫方式如上,其他情形下的Oracle連接,下圖中的連接方式:

好了,測試一下我們的數據庫:

雙擊後小叉沒有了,表示連接成功!

在創建新的要素類的時候,對話框中只有SDO類型的數據存儲方式

這是什麼原因呢?回想一下剛纔的安裝過程好似比原來的SDE安裝和連接少了東西,就是PostInstall,這是原本用來建立SDE要用的表的,但是我們的連接依然成功了,這是爲什麼呢?

在SDE10.1以後,ArcGIS連接關係型數據庫的主要方式是直接連接了,直接連接數據庫,利用數據庫的用戶權限管理,讀取數據表,序列等等數據庫原有的對象也是新特性,所以我們按照原來的方式建立的是一個對Oracle用戶的直接連接訪問!正是因爲這樣,我們新創建要素類的時候才只有SDO類型的。

值得一提的是,選擇幾何參考的界面允許查詢了,免除了大家在各種參數中間奮力查找的麻煩。

點擊完成,我們的點已經建立起來了。

但是,還有一個問題:這樣建立的要素類可以編輯麼?答案是否定的!原因很簡單,因爲這樣的數據無法註冊到地理數據庫:

這樣的數據我們只能採用提示的處理方式:導出成gdb或者shp再編輯後導入了。

創建地理數據庫並直接連接

上面的連接方式讓我們看到了現在ArcGIS的數據連接的靈活度,但是很多SDE原有的功能都受到限制,比如編輯和版本管理,那麼我們接下來連接一個創建爲地理數據庫的用戶,再設置它的連接吧。

地理數據庫連接現在已經全部工具化了,他們都在系統工具中,我們要用到的創建地理數據庫的工具,在Data Management tools->Geodababsase Administration->CreateEnterprise Geodatabase裏面(如果點開的時候出錯,請選擇運行加載項)。

填寫情況如下:

好了,創建成功!!

創建成功後,再採用SDE用戶建立一個直接連接,方式與上面相同:

創建後我們就能夠建立更多的內容了。

再試着建立一個線數據類,並註冊到數據庫,這樣就可以開始編輯了!

利用服務連接SDE數據庫

接下來,大家肯定有跟我一樣的疑惑:是不是Esri已經拋棄了SDE的服務?是不是以後就不採用服務方式了呢?答案肯定是服務方式連接依然是我們支持的內容!

操作步驟如下:

首先安裝ArcSDE for Oracle 11g!我們關注一下,安裝SDE的時候安裝了哪些東西,分別有什麼作用吧:

上圖中,Application Server是用來在GIS應用和企業空間數據庫之間傳遞空間數據的。也就是原來的SDE服務做的工作,而Command line tools從名字就知道是命令行工具,是通過命令行來管理ArcSDE服務的。

安裝完成ArcSDE後,我們修改ArcSDE安裝目錄中services.sde文件和Windows中的services文件,分別增加“esri_sde 5151/tcp”記錄,他們的格式是<服務名> <服務端口>/<通訊類型>

Windows中的services文件位置爲C:\Windows\System32\drivers\etc\services

ArcSDE中的services文件位置爲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章