Erreur ArcGIS Server: «Le service d'entités nécessite une base de données enregistrée»

10

J'essaie de publier un service d'entités sur le serveur ArcGIS. J'exécute SQL Server Express et ArcSDE. Lorsque j'essaie de publier le service, j'obtiens l'erreur "00090: le service d'entités nécessite une base de données enregistrée".

entrez la description de l'image ici

Lorsque je valide l'enregistrement de la base de données, il semble réussir, mais je ne peux toujours pas publier le service. Les fonctionnalités que je publie se trouvent à l'intérieur de la géodatabase que j'enregistre. Cette géodatabase se trouve sur le même serveur qu'ArcGIS Server, mais j'essaie de publier à partir d'une autre machine. Suis-je en train de manquer une étape cruciale?

Voici une version agrandie de la capture d'écran.

Radar
la source
Renommez la source de données, puis réessayez. J'espère que vous (le compte arcgis disposez) des autorisations complètes pour accéder à la base de données. Vérifiez également ceci resources.arcgis.com/en/help/main/10.1/index.html#//…
Sunil
Avez-vous corrigé le bogue? J'ai aussi le bug.
Leo
Quoi qu'il en soit, j'ai corrigé le bug.
Leo
Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question . Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation . - De l'avis
Knightshound

Réponses:

4

J'essaierais certaines des choses suivantes (par ordre de pertinence):

  1. Redémarrez ArcMap et essayez à nouveau de publier - le magasin de données n'a peut-être pas été mis à jour pour la session ArcMap.
  2. Lorsque vous ajoutez des données à partir d'un SQL Server Express (sous Serveurs de base de données), assurez-vous que votre chemin de données est identique à celui pour lequel vous avez enregistré le magasin de données. C'est-à-dire que le ". \ SQLExpress" n'est pas le même que "servername \ SQLExpress" lors de l'enregistrement d'un magasin de données - je me souviens avoir ce problème moi-même. Je n'utilise jamais le ". \" Dans les connexions> utilise le nom de l'ordinateur à la fois lors de l'enregistrement du magasin de données et lors de l'établissement de la connexion à une instance SQL Server Express dans la section Serveurs de base de données.
  3. Assurez-vous que Sunil a mentionné que le compte ArcGIS Server dispose au moins des autorisations pour lire les données. Double-cliquez sur Serveurs de bases de données dans l'arborescence du catalogue. Cliquez avec le bouton droit sur le serveur de base de données contenant la géodatabase et cliquez sur Autorisations. Cliquez sur Ajouter un utilisateur et ajoutez le compte ArcGIS Server. Cliquez sur OK. Double-cliquez sur le même serveur de base de données. Cliquez avec le bouton droit sur la géodatabase, cliquez sur Administration, puis sur Autorisations. Cliquez sur le compte ArcGIS Server pour le sélectionner et choisissez le niveau d'autorisations que vous souhaitez qu'il ait.
  4. Redémarrez le service ArcGIS Server Windows.
  5. Redémarrez la machine.
Alex Tereshenkov
la source
Je ne peux pas obtenir l'autorisation de travailler. J'ai ajouté le compte ArcGIS Server, mais lorsque j'essaie de lui accorder des autorisations de lecture ou de lecture / écriture dans la géodatabase, j'obtiens l'erreur: "Ne peut pas appliquer. Impossible de modifier le rôle" ESRIWriteData ", car il n'existe pas ou vous ne l'avez pas avoir la permission.
Radar
Cette erreur concerne SQL Server et cela signifie qu'il y a des problèmes avec l'octroi de certains privilèges à la connexion au compte ArcGIS Server dans SQL Server. Je recommanderais de commencer le dépannage en utilisant SQL Server Management Studio pour voir si vous pouvez ajouter la connexion à l'instance et à la base de données que vous utilisez manuellement, mais je n'ai rien à suggérer directement.
Alex Tereshenkov
L'édition des fonctionnalités est activée, mais il semble que l'édition ne soit pas encore configurée sur votre serveur SQL.
Mintx
2

Il doit s'agir d'une géodatabase d'entreprise (SQL Server ou SQL Server Express 2012 avec Enterprise Server). Si vous utilisez une géodatabase de groupe de travail (Server for Workgroups ou SQL Server 2010), vous pourrez enregistrer la source de données, mais ne pas l'utiliser pour une classe d'entités.

Sachez également qu'Esri ne recommande pas d'utiliser SQL Server Express dans le rôle d'entreprise; d'autres sur les forums esri ont rencontré ce problème et l'ont résolu en utilisant la base de données comme géodatabase gérée.

blord-castillo
la source
Pas vrai. Il est possible de créer des services d'entités avec des fonctionnalités d'édition sur des instances SQL Server Express sans utiliser SQL Server. Fait moi-même cent fois :)
Alex Tereshenkov
Mais pas en utilisant une géodatabase enregistrée. La géodatabase enregistrée doit être une géodatabase d'entreprise pour fonctionner avec un service d'entités.
blord-castillo
J'ai utilisé l'outil "Créer une géodatabase d'entreprise" pour créer une géodatabase d'entreprise dans SQL Server Express.
Radar
J'ai trouvé le scénario dont vous parlez: forums.arcgis.com/threads/… Vous pouvez le faire, ce n'est pas recommandé, et apparemment, la solution consiste à utiliser sql server express comme géodatabase gérée.
blord-castillo
En tant que géodatabase gérée? Très étrange. L'enregistrement en tant que géré signifie que les données seront copiées dans la base de données si vos données actuelles sont stockées dans, par exemple, une géodatabase fichier (qui n'est pas prise en charge avec le service d'entités) et je n'ai jamais eu besoin de le faire sur mon instance SQL Express. J'ai plusieurs machines de développement et de test avec SQL Server Express en cours d'exécution et certains services de fonctionnalités publiés correctement. Aucune exécution de l'outil Créer une géodatabase GP n'est requise pour SQL Server Express. Enregistrez simplement l'Express comme magasin de données et accordez des autorisations de lecture / écriture au compte AGS.
Alex Tereshenkov