ArcGIS Server 10.1發布要素服務時遇到的數據庫注冊問題總結(一)


昨天升級了ArcGIS Server升級到了10.1,10.0時的服務需要重新搭建一遍,苦逼了3天,算搞定了。不過最老火的是在發布要素服務的時候,關於數據庫注冊的問題,硬是折磨了我2天....現在把遇到的問題總結一下,以便遇到和我相同問題的人有一個參考,少走一些彎路,文中也會有提到一些沒有解決的問題,還希望路過的大神解決,幫助指點指點,鄙人感激不盡。

 

本文的工作環境:

Windows 7 64 位旗艦版

ArcGIS Server 10.1

ArcGIS Desktop 10.1

IIS 7.0

開始的時候以為10.1發布要素服務和10.0一樣,需要安裝ArcSDE,后來查閱資料發現不需要,數據庫直連方式就可以了。

 

首先我來說一下發布要素服務的過程,這里依照了這篇文章:

http://blog.csdn.net/arcgis_all/article/details/8202684

按照這篇文章的過程,一步一步做,之前的過程都沒有錯。

不過在Analyze的時候始終出現如下錯誤:

SEVERITY STATUS CODE DESCRIPTION NAME TYPE DATA FRAME
High Unresolved 00090 Feature service requires a registered database Layers Data Frame Layers

盡管這里我注冊了地理數據,雙擊錯誤可彈出如下注冊信息:

點擊查看連接屬性如下所示:

查閱了半天資料,在ESRI發了求助帖,在群里也尋求了幫助,無果。琢磨了兩天終於找出了解決辦法:

辦法一:打開Windows 服務列表,停掉ArcGIS Server,點擊屬性,修改其登陸身份為本地登錄身份:

然后啟動服務。然后在發布服務注冊數據庫時,在數據庫連接設置中選擇操作系統身份驗證:

點擊OK,注冊鏈接數據庫連接如下所示:

記得勾選Same as publisher database connection,勾選之后Serevr database connection的數據庫認證方式即為操作系統認證。

然后點擊OK。最后點擊Analyze,發現錯誤已經沒有,接着點擊Publish可以發布成功。

解決方法二:

ArcGIS Server的登陸方式為ArcGIS Server Account賬戶:如下圖所示:

不同的是注冊數據庫部分。

這里數據庫連接設置部分依舊是操作系統認證方式

然后點擊Server database connection框中的Edit,在認證類型中選擇數據庫認證方式,輸入用戶和密碼,一般都是用戶名都是:sde,密碼為自己設定的。如下圖所示:

點擊OK,回到Registered Database頁面,

這里上方法一不同的是:Server database connection,這里記得不要勾選Same as publisher database connection

這里的Geodata service可以勾選也可不勾選,本文中ArcGIS Server已存在,所示顯示的是Geodata service顯示為灰色勾選狀態。

這里記得一定不要勾選Same as publisher database connection,否則會出現如下的錯誤:

說明:在文章開頭給出的參考文中,它勾選了Same as publisher database connection,但是我在自己的機器上一直沒有成功。不知道為什么希望大神指點迷津。

即表示無法ArcGIS Server無法訪問數據庫。

然后點擊Analyze,錯誤解決,點擊Publish發布成功。

解決方法三:

以上我們都采用的是注冊數據庫,這里選擇注冊托管數據庫。過程可參考

http://blog.csdn.net/arcgis_all/article/details/8202631

這里給出很好示例。當編輯要素所在地理數據庫被注冊為托管數據庫后,再點擊Analyze,錯誤也會解決,點擊Publish,可發布成功。

 

總結:

解決方法一和解決方法二中數據庫被直接注冊到ArcGIS Server,不同的是ArcGIS Server登陸的身份。一個是本地系統,及操作系統登錄身份(Windows 身份),一個是ArcGIS Server用戶身份。這里推薦ArcGIS Server Account身份登錄,主要是考慮到ArcGIS Server分布式安裝時,Windows 身份登錄將失效。不過Windows 身份登錄的安全性要比ArcGIS Server Account身份登錄高一些,因為其采用了基於證書的安全機制。

這里我們還會發現Serevr database connection和 publisher database connection也有一定的區別。

在方法一種由於ArcGIS Server采用的是本地系統賬戶,所有Serevr database connection為操作系統認證方式。

在方法二中由於ArcGIS Server采用的是ArcGIS Server Account身份登錄,所以Serevr database connection采用的是數據庫認證方式。

而publisher database connection都為操作系統認證方式。

雖然publisher database connection采用數據庫認證方式時,可以注冊成功,但是發布要素服務時依舊提示數據庫沒有注冊的錯誤。

 

解決方法三采用的是托管注冊,這時地理數據庫將Copy到ArcGIS Server,一般不推薦,因為當數據庫比較大時,Copy的話會比較占空間。

以上是遇到問題的一點總結,個人覺得還是ArcGIS Server對數據庫訪問權限的問題,但是一直也沒有搞懂其中的機制。暫時就寫這么多吧!

ESRI參考文檔:

http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/015400000505000000/

http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#//00sq000000m4000000

http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/01540000039r000000/

ESRI視頻:

http://video.esri.com/watch/1545/registering-database-data-with-arcgis-101-for-server

 

(版權,所有轉載請標明出處)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM