當前位置:首頁 » 操作系統 » arcsde資料庫

arcsde資料庫

發布時間: 2024-04-07 22:57:06

① 怎麼在sqlServer資料庫創建多個ArcSDE服務

在現在的開發過程當中,開發人員可能面臨多個數據源,那麼在一台伺服器上部署多個ArcSDE服務就顯得比較常見了,對Oracle資料庫來說,一個ArcSDE服務是對應一個資料庫實例,那麼在建立過程是比較簡單的,但是對SQLServer資料庫來說就比較特殊了,因為我們可以在SQLServer資料庫的同一個實例但是對應不同的Database,但是SQLServer資料庫特殊在於如果的默認Database不是sde的話,你需要指定你的默認資料庫,那麼我在創建服務過程中就需要進行特殊的指定設置。

假設我們已經存在了一個針對sde資料庫的ArcSDE服務,那麼我們又建立了一個sde931的庫,我們新設定的SDEHOME是C:\ArcSDE\sqlexe,那麼大家都知道,我們需要使用sdeservice命令來創建相關的服務
[python] view plain print?
C:\Users\Administrator>sdeservice -o create -d sqlserver -p Super123 -s sde931 -i esri_sde2 -H C:\ArcSDE\sqlexe
Successfully created and registered esri_sde2 service
但是,如果我們對創建好的ArcSDE服務啟動,我們可以看到會報如下錯誤
[python] view plain print?
-------------------------------------------------------
ArcSDE 9.3.1 for SQL Server Build 1632 Thu Feb 26 12:05:37 2009
-------------------------------------------------------
IDBInitialize::Initialize Failed
DB_open_instance() PCC_connect error: -2147217871
init_DB DB_instance_open_as_dba: -51
DBMS error code: -2147217871
Microsoft SQL Server Native Client 10.0: 登錄超時已過期
這就是我上提到的我們需要注冊默認資料庫。我們可以看看幫助是怎麼說的
[python] view plain print?
It is assumed the ArcSDE administrator user for which you are providing the password (-p) is SDE. It is also assumed that the name of the database to which the service applies is SDE. If your ArcSDE administrator user is not SDE, such as when you use a DBO schema in SQL Server, you must set the SDE_DBA_USER registry key to the login name of the DBO user using sdeservice -o register. If the name of your database is not SDE, you must set the ADMIN_DATABASE registry key to the name of your database using the sdeservice -o register command.
也可以參考相關的幫助文檔:http://support.esri.com/en/knowledgebase/techarticles/detail/29575

那麼我們第一個,就是需要將我們的默認資料庫和默認SDE用戶注冊一下
[python] view plain print?
C:\Users\Administrator>sdeservice -o register -r ADMIN_DATABASE -v sde931 -d sqlserver -p Super123 -i esri_sde2 -H "C:\ArcSDE\sqlexe"
Successfully registered 'ADMIN_DATABASE' key for esri_sde2 instance

C:\Users\Administrator>sdeservice -o register -r SDE_DBA_USER -v sde -d sqlserver -p Super123 -i esri_sde2 -H "C:\ArcSDE\sqlexe"
Successfully registered 'SDE_DBA_USER' key for esri_sde2 instance

另外我們需要進入注冊表,添加對SQLServer服務的依賴項,默認是沒有的
HKEY_LOCAL_MACHINE——SYSTEM——CurrentControlSet——Services——esri_sde2(自己定義的SDE實例名)

需要在該實例添加
類型:REG_MULTI_SZ
名稱:DependOnService
數據:MSSQLServer(這個根據用戶的實例名稱)也可以參考另外一個SDE實例的寫法
我們也可以查看以下節點,驗證是否填寫正確
HKEY_LOCAL_MACHINE——SOFTWARE——ESRI——ArcInfo——ArcSDE——ArcSDE for SQLServer——esri_sde2(你的SDE實例名)
來查看是否已經添加好
ADMIN_DATABASE
DATASOURCE:該項對應的應該是資料庫的機器名或者IP
SDE_DBA_USER

這樣的話,我們就可以啟動ArcSDE服務了

② 如何配置Oracle資料庫使之成為ArcSDE資料庫

Oracle資料庫本身雖然具備空間資料庫的支持組件,但是為了使用ArcSDE,還必須進行配置。可以安裝ArcSDE for
Oracle10g並利用其配置工具進行配置。其安裝過程不再贅述,因為主要都是點擊下一步而已。下面主要講解其配置流程。實際上,配置有兩種方式。第一
種方式是使用VerifyOra工具(點擊菜單「開始/所有程序/ArcGIS/ArcSDE/ArcSDE for Oracle10gR2 Post
Installation」);第二種方式是使用編程的方式。

以下先講解第一種方式,即使用VerifyOra工具配置資料庫的過程(實際上安裝完ArcSDE for
Oracle之後會自動啟動該工具)。為了敘述和測試的方便,首先使用Oracle資料庫配置工具新建一個資料庫,以後的測試都將使用該資料庫。需要注意
的是,這樣配置資料庫僅用於學習之用,如果要用做生產資料庫,那麼必須對所有參數進行優化配置。

1、啟動Oracle資料庫配置向導(開始運行中輸入dbca回車),並選擇「創建資料庫」之後點擊「下一步」按鈕

2、在模板列表中選擇「一般用途」,並點擊「下一步」按鈕

3、在全局資料庫名中輸入「dbname1」,並點擊「下一步」按鈕

4、直接點擊「下一步」按鈕

5、在口令和確認口令中輸入「password1」,直接點擊「下一步」按鈕

6、直接點擊「完成」按鈕

7、在確認對話框中直接點擊「確定」按鈕

8、系統隨即開始創建資料庫dbname1

9、資料庫創建完畢後會顯示資料庫信息,點擊退出按鈕即完成資料庫創建。

10、啟動VerifyOra工具,系統顯示配置向導,選擇「Custom」模式,然後點擊「下一步」按鈕。。

11、系統顯示選項對話框。「Define SDE User
Environment」即創建空間資料庫管理員賬號、表空間等環境信息。「Repository
Setup」即配置空間資料庫,前提是必須存在SDE賬號以及表空間。「Authorize
ArcSDE」即給空間資料庫授權,否則空間資料庫將不可使用。「Create ArcSDE
Service」即創建ArcSDE服務。可以看到,每一種選項都以前面所有配置為前提。這里為了學習的方便,全部選項都選擇上,並點擊「下一步」按鈕。

12、系統顯示資料庫連接對話框。在「Net service
name」中輸入資料庫的網路名稱,例如輸入「dbname1」。在「Sys user
password」中輸入sys用戶的密碼,例如輸入「password1」。然後點擊「下一步」按鈕。

13、系統顯示用戶名和表空間配置對話框。在「SDE user
password」中錄入設置的sde用戶密碼。在「Default
tablespace」中輸入默認表空間的名稱。sde用戶是空間資料庫的管理員賬號,用戶名稱不能修改,但是這個用戶的密碼和默認表空間名稱以及表空間
數據文件的名稱和位置是可以設置的。錄入所有信息後點擊「下一步」按鈕,系統開始配置空間資料庫,配置完成後系統將依次顯示「The SDE
tablespace was successfully created」、「The SDE user was successfully
created」等信息,依次點擊「確定」按鈕即可。

14、用戶和表空間配置完畢之後,系統顯示配置文件選項,直接點擊「下一步」按鈕即可。

15、系統顯示調優配置文件選項,直接點擊「下一步」按鈕即可。

16、系統顯示空間庫配置選項,分別輸入sde用戶的密碼以及資料庫網路名,然後點擊「下一步」按鈕。空間庫配置完畢後,系統
會顯示配置完成的信息,並詢問是否打開詳細日誌文件。一般配置成功的話,無需查看詳細信息。如果配置失敗,可以查看詳細原因。

17、系統顯示授權配置向導。必須在空間庫配置成功的前提下才能進行授權。直接點擊「下一步」按鈕即可。

18、選擇適當的授權方式。這里我們選擇第二種方式,即通過授權文件來完成注冊過程。然後點擊「下一步」按鈕。系統顯示配置文
件選擇對話框,點擊「Browse」按鈕找到授權文件(*.ecp),點擊「下一步」按鈕,確認授權信息,並點擊「完成」按鈕即可完成授權。

19、系統啟動服務配置對話框。依次錄入服務名稱(Service name)、埠號和協議(Service port
number)、SDE用戶密碼(SDE user password)、Oracle實例名(ORACLE SID)、伺服器名稱(Server
name)。服務名稱用於為服務命名,可以在Windows服務中看到該名字的服務。如果服務名錄入「esri_sde_db1」,那麼可以在
Windows服務中看到名為「ArcSde
Service(esri_sde_db1)」的服務。Oracle實例名請參照圖1.3中的SID設置。錄入所有信息後,點擊「下一步」按鈕。系統顯示
完成信息,直接點擊「完成」按鈕即可。

以上為第一種方式,即使用工具來配置ArcSde資料庫和服務。以下將詳解如何通過命令的形式配置空間資料庫。注意,如果需要配置服務,請參照sdeservice命令的參考信息。

1、創建SDE表空間。命令如下:

create tablespace sde datafile 'sde.dbf' size 400M extent management local uniform size 512K;

2、創建SDE用戶,並授予適當的許可權。命令如下:

grant execute on dbms_pipe to public;

grant execute on dbms_lock to public;

create user sde identified by sde default tablespace sde temporary tablespace temp;

grant CREATE SESSION to sde;

grant CREATE TABLE to sde;

grant CREATE PROCEDURE to sde;

grant CREATE SEQUENCE to sde;

grant CREATE TRIGGER to sde;

grant CREATE TYPE to sde;

grant CREATE LIBRARY to sde;

grant CREATE PUBLIC SYNONYM to sde;

grant CREATE OPERATOR to sde;

grant CREATE INDEXTYPE to sde;

grant DROP PUBLIC SYNONYM to sde;

grant UNLIMITED TABLESPACE to sde;

grant CREATE ANY VIEW to sde;

grant SELECT ANY TABLE to sde;

3、配置空間資料庫。命令如下:

sdesetup -o install -d ORACLE10G -u sde -p sde@dbname1 -l server92.ecp -N

③ 空間資料庫引擎ArcSDE

空間資料庫引擎:ArcSDE9.0(arc spatial database engine);此軟體被用作系統後台(Server),其優勢在於能按照用戶需求合理地管理大規模甚至超大規模的空間資料庫,為系統前端提供高效的空間數據和復雜的空間分析服務。

選擇空間資料庫引擎SDE作為空間資料庫管理系統,是一套管理空間數據並提供訪問這些數據介面的軟體,通過ArcSDE可以把地理空間數據應用到商用的關系型資料庫中,SDE融入DBMS後,提供了對空間數據進行高效率操作的介面,大量用戶可以同時針對同一數據進行操作,更重要的是ArcSDE客戶和伺服器之間的通訊建立在TCP/IP協議上,這使得ArcSDE不但能滿足區域網的應用,而且能滿足遠程網的應用。

通過ArcSDE,能夠管理具有數百萬空間要素的大型空間數據集。ArcSDE對各級企業均能適用,這歸功於其在客戶與伺服器間協同處理。ArcSDE通過TCP/IP協議,提供網路上的開放數據訪問;同時,ArcSDE可運行在不同的操作系統環境中,如UNIX,Microsoft Windows的客戶端與伺服器端。

為了實現以關系資料庫管理系統(Oracle)為基礎的空間數據管理,需要使用空間資料庫引擎。良好的空間資料庫引擎能夠為資料庫的應用系統開發提供高性能的支持。ESRI公司的ArcSDE for Or-acle 是一個基於Oracle的空間資料庫引擎,它的空間數據管理高效而穩定,將作為本項目綜合資料庫的必須軟體產品之一。其特點:

(1)對地理數據的開放式系統訪問

ArcSDE利用開放系統結構,使得地理數據易於獲得,可以把地理數據的管理與使用同其他傳統的多媒體資料庫合並到一個平滑的計算機環境中。利用ArcSDE的開放性,用戶可以進行從簡單到復雜的空間數據分析,從幾個到許多地理特徵的提取,訪問超大規模的資料庫,高效完成各種復雜任務。

(2)進行高效查詢分析

ArcSDE提供一組可靠的幾何處理與空間分析功能,通過此功能確定各地理實體間的相互關系,如相交於一點、共一條邊界、共一個區域或一個實體包含另一個實體。而且還可以把空間分析嵌入到一個非GIS的應用程序中去。

(3)理想的空間對象模型

ArcSDE把線特徵表示成一條不能自相交的線,或只能在終點相交的線;面特徵表示成一個簡單的多邊形或多邊形組合。空間對象類型有點、點集、串、線串、環、多邊形、環紋多邊形(donut polygon)以及網路數據,一個組合數據集稱為一個層。層是具有相同形式對象類型的一組地理特徵,地理特徵通過圖層這種空間連續策略進行索引,提高數據管理效率。

(4)快速實現過程

ArcSDE對於復雜空間查詢的處理的效率體現在對次要特徵(Subsecond Feature)的檢索上,快速訪問與檢索是在C/S模式上實現的,客戶端主要是響應空間分析操作,伺服器則進行數據搜索和檢索。這種互操作處理方法使得動態空間疊加成為可能,當大量增加客戶端的時候,利用這種處理可以把客戶機帶來的性能下降降到最小。

(5)其他

客戶端可以通過TCP/IP協議訪問Arc/Info數據,不用通過傳統的直接掛到資料庫所在的磁碟上進行訪問,這樣系統就可以建立在廣域網上,數據分布將不受地域限制。同時允許將一部分數據放在RDBMS中,另一部分數據以傳統Arc/Info數據格式保存。而客戶端的應用將以同一種方式進行訪問,即數據源的不同對客戶而言是完全透明的。

ArcSDE本身並沒有專用資料庫,而是通過與其他通用的DBMS的集成來管理空間數據。根據DBMS的類型,ArcSDE與DBMS的集成可分為兩種:①與傳統的關系型資料庫管理系統(RDBMS)的集成,由於傳統的RDBMS不支持數據類型的擴展,無法管理空間數據,只能通過ArcSDE對空間數據和空間操作進行解釋和管理。②與面向對象關系資料庫(OORDMS)的集成。由於面向對象的關系支持新的數據類型和函數的擴展,ArcSDE可以直接在資料庫中定義空間數據類型和空間函數。於是可以通過基於SQL的函數對空間數據進行操作,並在資料庫層次建立空間索引。

④ arcgis 的sde和doc文件存放在哪

首先你要明白arcsde是什麼,ArcSDE是空間資料庫引擎,也可以說是一個中間件,它的作用是GIS客戶端(arcmap,arctatalog等)訪問或操作空間資料庫時的一個通道,ArcSDE本身不會存儲文件,而是將空間信息存儲在dbms中(如sql server,oracle,db2等)。

載入硬碟上的空間數據到arcsde上有什麼作用?
客戶端訪問arcsde服務(默認是5151),arcsde會連接DMBS,但不會給你返回DMMS中的表,而是給你返回arcgis中Geodatabase定義類型中的FeatureClass、FeatureDataset, Table等,所以,可以說不管你用的是什麼DBMS,只要通過arcsde訪問,訪問介面都是一樣的,這樣,用戶就不要考慮用不同的介面訪問不同的資料庫類型。

是不是載入到arcsde以後還要進行操作載入的關系資料庫中。然後就可以通過關系資料庫管理那些空間數據。
你只需要訪問arcsde,不需要操作關系資料庫。你可以不管資料庫中存了什麼,你的客戶端訪問時,如用ArcCatalog訪問時,輸入server,port,database,sdeuser,sdepassword,就可以訪問了。

最後,如果你還沒明白,你安裝並配置ArcSDE後,以(ArcSDE + SQL SERVER為例)你可以打開資料庫中的sde資料庫,你可以看到裡面存儲了很多表,這些表管理並存儲了所有空間資料庫的內容及關系,如果你新建或刪除一個圖層(FeatureClass) ,你不需要去操作SQL SERVER,因為ArcSDE它會操作SQL SERVER,並在SQLSERVER中進行新建或刪除處理,你沒必要知道ArcSDE是怎麼操作SQL SERVER的,你只需要知道如何訪問ArcSDE(Geodatabase),而訪問ArcSDE的方法卻很簡單,ArcGIS等軟體都可以訪問,輸入一些參數(server,port,database,sdeuser,sdepassword)就OK了。

熱點內容
伺服器換電腦需要什麼東西 發布:2024-05-05 09:52:28 瀏覽:752
老算盤演算法 發布:2024-05-05 09:43:10 瀏覽:839
ps存儲顯示不含通道 發布:2024-05-05 09:32:35 瀏覽:102
如何用安卓做一個識物界面表 發布:2024-05-05 09:29:28 瀏覽:98
如何編譯linux內核模塊 發布:2024-05-05 09:27:25 瀏覽:168
為什麼apple驗證無法連接伺服器 發布:2024-05-05 09:20:35 瀏覽:660
linuxscript 發布:2024-05-05 09:19:49 瀏覽:324
asp編程詞典 發布:2024-05-05 09:09:50 瀏覽:526
引流群控腳本 發布:2024-05-05 08:42:14 瀏覽:178
sql測試題和答案 發布:2024-05-05 08:42:09 瀏覽:893