Błąd serwera ArcGIS: „Usługa funkcji wymaga zarejestrowanej bazy danych”

10

Próbuję opublikować usługę funkcji na serwerze ArcGIS. Używam SQL Server Express i ArcSDE. Podczas próby opublikowania usługi pojawia się błąd „00090: Usługa funkcji wymaga zarejestrowanej bazy danych”.

wprowadź opis zdjęcia tutaj

Kiedy sprawdzam poprawność rejestracji bazy danych, wydaje się, że się powiodła, ale nadal nie mogę opublikować usługi. Funkcje, które publikuję, znajdują się w rejestrowanej przeze mnie bazie danych. Ta geobaza znajduje się na tym samym serwerze, na którym znajduje się ArcGIS Server, ale próbuję publikować z innego komputera. Czy brakuje mi jakiegoś ważnego kroku?

Oto większa wersja zrzutu ekranu.

Radar
źródło
Zmień nazwę źródła danych, a następnie spróbuj ponownie. Mam nadzieję, że masz (konto Arcgis) pełne uprawnienia dostępu do bazy danych. Sprawdź to również resources.arcgis.com/en/help/main/10.1/index.html#//…
Sunil
Naprawiłeś błąd? Mam też błąd.
Lew
W każdym razie naprawiłem błąd.
Lew
To tak naprawdę nie odpowiada na pytanie. Jeśli masz inne pytanie, możesz je zadać, klikając Zadaj pytanie . Możesz także dodać nagrodę za zwrócenie większej uwagi na to pytanie, gdy będziesz mieć wystarczającą reputację . - Z recenzji
Knightshound,

Odpowiedzi:

4

Wypróbowałbym niektóre z następujących rzeczy (w kolejności stosowności):

  1. Uruchom ponownie ArcMap i spróbuj opublikować ponownie - magazyn danych mógł nie zostać zaktualizowany dla sesji ArcMap.
  2. Podczas dodawania danych z SQL Server Express (w obszarze Serwery baz danych) upewnij się, że ścieżka danych jest identyczna z tym, dla którego zarejestrowałeś magazyn danych. Tzn. „. \ SQLExpress” nie jest tym samym, co „nazwa serwera \ SQLExpress” podczas rejestracji magazynu danych - sam pamiętam ten problem. Nigdy nie używam „. \” W połączeniach> używam nazwy komputera zarówno podczas rejestracji magazynu danych, jak i podczas ustanawiania połączenia z wystąpieniem SQL Server Express w sekcji Serwery bazy danych.
  3. Upewnij się, jak wspomniał Sunil, że konto ArcGIS Server ma uprawnienia przynajmniej do odczytu danych. Kliknij dwukrotnie Serwery bazy danych w drzewie katalogu. Kliknij prawym przyciskiem myszy serwer bazy danych zawierający geobazę i kliknij Uprawnienia. Kliknij Dodaj użytkownika i dodaj konto ArcGIS Server. Kliknij OK. Kliknij dwukrotnie ten sam serwer bazy danych. Kliknij prawym przyciskiem myszy geobazę, kliknij Administracja, a następnie Uprawnienia. Kliknij konto ArcGIS Server, aby je wybrać, i wybierz poziom uprawnień, jaki chcesz mieć.
  4. Uruchom ponownie usługę Windows ArcGIS Server.
  5. Uruchom ponownie maszynę.
Alex Tereshenkov
źródło
Nie mogę uzyskać pozwolenia na pracę. Dodałem konto ArcGIS Server, ale kiedy próbuję nadać mu uprawnienia do odczytu lub odczytu / zapisu w geobazie, pojawia się błąd: „Nie można zastosować. Nie można zmienić roli„ ESRIWriteData ”, ponieważ nie istnieje lub nie mam pozwolenie
Radar
Ten błąd dotyczy programu SQL Server i oznacza, że ​​występują problemy z nadaniem określonych uprawnień do logowania do konta ArcGIS Server w programie SQL Server. Polecam rozpocząć rozwiązywanie problemów za pomocą SQL Server Management Studio, aby zobaczyć, czy możesz dodać login do instancji i bazy danych, z której korzystasz ręcznie, ale nie mam nic do bezpośredniego sugerowania.
Alex Tereshenkov
Masz włączoną edycję funkcji, ale wygląda na to, że edycja nie jest jeszcze skonfigurowana na SQL Server.
Mintx
2

Musi być geobazą korporacyjną (SQL Server lub SQL Server Express 2012 z Enterprise Server). Jeśli korzystasz z geobazy bazy danych grupy roboczej (Server for Workgroups lub SQL Server 2010), będziesz mógł zarejestrować źródło danych, ale nie będziesz go używać dla klasy elementów.

Należy również pamiętać, że Esri nie zaleca używania SQL Server Express w roli przedsiębiorstwa; inni na forach esri mieli ten problem i pracowali nad nim, wykorzystując bazę danych jako zarządzaną geobazę.

blord-castillo
źródło
Nie prawda. Możliwe jest tworzenie usług funkcji z funkcją edycji w instancjach SQL Server Express bez użycia SQL Server. Zrobiłem sobie sto razy :)
Alex Tereshenkov
Ale nie używa zarejestrowanej geobazy. Zarejestrowana geobaza musi być geobazą przedsiębiorstwa, aby współpracować z usługą obiektów.
blord-castillo
Użyłem narzędzia „Utwórz geobazę korporacyjną”, aby utworzyć geobazę korporacyjną w SQL Server Express.
Radar
Znalazłem scenariusz, o którym mówisz: forums.arcgis.com/threads/… Możesz to zrobić, nie jest to zalecane, i najwyraźniej obejście polega na użyciu sql server express jako zarządzanej geobazy.
blord-castillo
Jako zarządzana geobaza danych? Bardzo dziwne. Rejestracja jako zarządzana oznacza, że ​​dane zostaną skopiowane do bazy danych, jeśli bieżące dane są przechowywane, na przykład, w geobazie pliku (która nie jest obsługiwana przez usługę funkcji) i nigdy nie musiałem tego robić w mojej instancji SQL Express. Mam kilka maszyn programistycznych i testowych z uruchomionym programem SQL Server Express i niektórymi usługami funkcji opublikowanymi poprawnie. SQL Server Express nie wymaga uruchamiania narzędzia Utwórz Enterprise Geodatabase GP. Wystarczy zarejestrować Express jako magazyn danych i dać uprawnienia do odczytu / zapisu konta AGS.
Alex Tereshenkov