1. 簡介ArcGIS for Sever 從10.1 推出了一個非常實(shí)用的功能,就是注冊數(shù)據(jù)源(register data store)。注冊數(shù)據(jù)源,就是將當(dāng)前是數(shù)據(jù)路徑賦予arcgis for server的賬戶(安裝的時候,默認(rèn)為arcgis)的相關(guān)的操作權(quán)限,通過注冊數(shù)據(jù)源,發(fā)布服務(wù)時候,數(shù)據(jù)將不會拷貝到服務(wù)器端,而任然停留在當(dāng)前位置。服務(wù)器端服務(wù)使用的數(shù)據(jù)和客戶端端發(fā)布服務(wù)使用的數(shù)據(jù)是同一份數(shù)據(jù)。 如果不注冊數(shù)據(jù)源將會出現(xiàn)編號24011的高級警告, “data source is not register with the server and data will be copied to the server”。此如忽略該警告,發(fā)布服務(wù)時數(shù)據(jù)將拷貝到服務(wù)器上,默認(rèn)存放于 通過上面的描述可知,不注冊數(shù)據(jù)源服務(wù)器端服務(wù)使用的數(shù)據(jù)和客戶端發(fā)布服務(wù)的數(shù)據(jù)是兩份數(shù)據(jù)。且將客戶端的數(shù)據(jù)拷貝到服務(wù)器端,需要時間消耗和網(wǎng)絡(luò)傳輸帶寬,當(dāng)數(shù)據(jù)量特別大的時候,拷貝的過程就更不可取了。更新客戶端的數(shù)據(jù),服務(wù)器端的數(shù)據(jù)并不會更新,則服務(wù)也無法更新。 2. 注冊數(shù)據(jù)源的方式:
通過雙擊分析結(jié)果對話框,在彈出的對話中,輸入data store的名字。 3. 常見失敗的場景:注冊data store 失敗的所有的場景歸根結(jié)底都是由于arcgis for server的賬戶對當(dāng)前發(fā)布服務(wù)的mxd文檔的數(shù)據(jù)路徑不具有讀寫權(quán)限。
當(dāng)注冊的文件夾與arcgis for server在同一臺機(jī)器上的時候,通常不會出現(xiàn)失敗。通常容易失敗的是,文件夾和arcgis for server不在同一臺機(jī)器上。,在這樣的場景下,需要:
NB:上面的三個步驟中,最容易出現(xiàn)錯誤的是步驟三。這個時候,容易使用絕對物理路徑而不是共享的UNC路徑。如數(shù)據(jù)文件存放在d:\folder\test.shp,且folder共享了,通過\server\folder的UNC路徑,arcgis for server的機(jī)器可以訪問到。但是發(fā)布服務(wù)或者注冊數(shù)據(jù)源的時候注冊的是d:\folder 這就導(dǎo)致注冊成功,但是數(shù)據(jù)還是要拷貝到服務(wù)器上的現(xiàn)象的出現(xiàn)。
arcgis for server,可以注冊多種數(shù)據(jù)庫。使用比較多的是oracle和sqlserver。注冊數(shù)據(jù)庫通常失敗的原因通常是由于客戶端安裝的問題。 從10.1后,arcgis 連接數(shù)據(jù)庫默認(rèn)的方式采用直接連接,這就需要通過數(shù)據(jù)庫客戶端去連接數(shù)據(jù)。由于desktop 是32的應(yīng)用程序,arcgis for server是64位的應(yīng)用程序,這就導(dǎo)致,如果desktop連接數(shù)據(jù)需要安裝32位客戶端,server連接數(shù)據(jù)庫需要64位客戶端
只需要在desktop是機(jī)器上安裝32位客戶端。server的機(jī)器上,無需安裝客戶端,因?yàn)閿?shù)據(jù)庫文件中包含連接數(shù)據(jù)的相關(guān)文件。如果是oracle需要確保Path設(shè)置了oracle home 目錄,而sqlserver安裝64或者32位客戶端都可(本人測試是可以的,但是官方要求是32位) NB:當(dāng)server和數(shù)據(jù)庫在同一臺機(jī)器上的時候,如果先安裝server,再安裝數(shù)據(jù)庫,則會出現(xiàn)注冊失敗,通常重啟arcgis for server的服務(wù)即可。(該問題曾經(jīng)坑死我了)
desktop采用32位客戶端,server 64位數(shù)據(jù)庫客戶端段,如是oralce需要path路徑中配置各自配置oralce client home。而sqlserver無需配置路徑,且發(fā)現(xiàn)都安裝64位客戶端都可。
只需要安裝32為客戶端用desktop連接數(shù)據(jù),而64位客戶端文件在數(shù)據(jù)庫安裝文件中包含,oralce只需要在Path中配置oralce home。而sqlserver無需安裝客戶端,數(shù)據(jù)庫文件中包含。 oracle 注冊數(shù)據(jù)源 http://resources./en/help/main/10.2/index.html#/Registering_an_Oracle_database_with_the_server/015400000617000000/ 總結(jié)總結(jié)還是一句話,注冊數(shù)據(jù)源失敗,絕大部分是數(shù)據(jù)讀寫權(quán)限的問題 |
|