arcgis表格設置不了數據源?
ArcGIS for Sever 從10.1 推出了一個非常實用的功能,就是注冊數據源(register data store)。注冊數據源,就是將當前是數據路徑賦予arcgis for server的賬戶(安裝的時候,默認為arcgis)的相關的操作權限,通過注冊數據源,發布服務時候,數據將不會拷貝到服務器端,而任然停留在當前位置。服務器端服務使用的數據和客戶端端發布服務使用的數據是同一份數據。
如果不注冊數據源將會出現編號24011的高級警告, “data source is not register with the server and data will be copied to the server”。此如忽略該警告,發布服務時數據將拷貝到服務器上,默認存放于 C:\arcgisserver\directories\arcgissystem\arcgisinput\服務名\extracted\v101下。根據mxd數據本身的存儲形式不同,在服務器端存放的形式也不同。如數據來自文件夾的shapefile文件,則以shapefile的形式在服務器端存儲。如果來自與filegeodatabase 或者sde中的數據,則在服務器端以filegeodatabase的形式存在。
通過上面的描述可知,不注冊數據源服務器端服務使用的數據和客戶端發布服務的數據是兩份數據。且將客戶端的數據拷貝到服務器端,需要時間消耗和網絡傳輸帶寬,當數據量特別大的時候,拷貝的過程就更不可取了。更新客戶端的數據,服務器端的數據并不會更新,則服務也無法更新。
2. 注冊數據源的方式:
在服務屬性編輯對話框中
通過雙擊分析結果對話框,在彈出的對話中,輸入data store的名字。
3. 常見失敗的場景:
注冊data store 失敗的所有的場景歸根結底都是由于arcgis for server的賬戶對當前發布服務的mxd文檔的數據路徑不具有讀寫權限。
注冊文件夾失敗
當注冊的文件夾與arcgis for server在同一臺機器上的時候,通常不會出現失敗。通常容易失敗的是,文件夾和arcgis for server不在同一臺機器上。,在這樣的場景下,需要:
在文件夾所在的機器上如果沒有arcgis for server的賬戶,新將一個arcgis for server 賬戶,且需要賬戶和密碼與安裝arcgis for server 的機器上的賬戶密碼一致。
將數據文件夾,共享給步驟一創建的賬戶
將共享路徑中的數據加載到arcmap中發布服務。
NB:上面的三個步驟中,最容易出現錯誤的是步驟三。這個時候,容易使用絕對物理路徑而不是共享的UNC路徑。如數據文件存放在d:\folder\test.shp,且folder共享了,通過\server\folder的UNC路徑,arcgis for server的機器可以訪問到。但是發布服務或者注冊數據源的時候注冊的是d:\folder 這就導致注冊成功,但是數據還是要拷貝到服務器上的現象的出現。
注冊數據庫
arcgis for server,可以注冊多種數據庫。使用比較多的是oracle和sqlserver。注冊數據庫通常失敗的原因通常是由于客戶端安裝的問題。
從10.1后,arcgis 連接數據庫默認的方式采用直接連接,這就需要通過數據庫客戶端去連接數據。由于desktop 是32的應用程序,arcgis for server是64位的應用程序,這就導致,如果desktop連接數據需要安裝32位客戶端,server連接數據庫需要64位客戶端
1. 當server和數據庫在同一臺機器上,而desktop在另一臺機器上
只需要在desktop是機器上安裝32位客戶端。server的機器上,無需安裝客戶端,因為數據庫文件中包含連接數據的相關文件。如果是oracle需要確保Path設置了oracle home 目錄,而sqlserver安裝64或者32位客戶端都可(本人測試是可以的,但是官方要求是32位)
NB:當server和數據庫在同一臺機器上的時候,如果先安裝server,再安裝數據庫,則會出現注冊失敗,通常重啟arcgis for server的服務即可。(該問題曾經坑死我了)
2. server,desktop和數據庫三種在不同的服務器上
desktop采用32位客戶端,server 64位數據庫客戶端段,如是oralce需要path路徑中配置各自配置oralce client home。而sqlserver無需配置路徑,且發現都安裝64位客戶端都可。
3. server,desktop和數據庫都在同一臺機器上
只需要安裝32為客戶端用desktop連接數據,而64位客戶端文件在數據庫安裝文件中包含,oralce只需要在Path中配置oralce home。而sqlserver無需安裝客戶端,數據庫文件中包含。