français

Erreur : Impossible d’ouvrir la base de données demandée par la connexion. La connexion a échoué. Echec de la connexion pour l’utilisateur

Message d'erreur

Dans ArcGIS Server Manager for the Microsoft .NET Framework, il est possible de créer une application Web sur un serveur Web différent. Cette application Web distante peut ensuite être sécurisée dans ArcGIS Server Manager avec des rôles désignés autorisés à accéder à l’application. Lorsque l’utilisateur se connecte à l’application Web, le navigateur peut afficher une erreur.

Une erreur générique s’affiche par défaut, sauf lorsque le navigateur est exécuté sur le serveur Web hébergeant l’application. Dans ce cas, le message d’erreur s’affiche. Il peut contenir les lignes suivantes :

« Impossible d’ouvrir la base de données "" demandée par la connexion. La connexion a échoué. Echec de la connexion pour l’utilisateur . »

Le est généralement Network Service ou ASPNET.

Cause

Cette erreur peut se produire lorsque le magasin d’utilisateurs configuré pour ArcGIS Server est dans Microsoft SQL Server, même si elle peut également survenir dans le cas d’un magasin d’utilisateurs chez un fournisseur personnalisé. Le magasin d’utilisateurs défini dans l’application ArcGIS Server Manager n’est en effet pas accessible par l’application Web qui s’exécute sur le serveur Web IIS à distance.

Plus spécifiquement, ce problème peut être dû au nom de la machine exécutant SQL Server qui n’est pas spécifié de manière adéquate, ou à des autorisations incorrectes du compte accédant à SQL Server ou au fournisseur personnalisé.

Solution ou procédure de contournement

Pour résoudre ce problème, il peut être nécessaire d’effectuer une des étapes suivantes ou les deux :

1) Corrigez le nom de la machine ou les informations d’emplacement de la base de données.

2) Vérifiez que les autorisations du compte qui exécute l’application sont valides.

La procédure ci-dessous permet de résoudre le problème pour SQL Server. Si vous rencontrez des problèmes similaires avec un fournisseur personnalisé, vous devez procéder de même, et configurer l’emplacement et les autorisations du fournisseur.

  1. La première cause de l’erreur peut être que le nom de la machine de SQL Server doit être spécifié pour que la machine distante puisse la retrouver. Pour résoudre ce problème :

    a) Connectez-vous à ArcGIS Server Manager.

    b) Cliquez sur Security (Sécurité) > Settings (Paramètres) et sélectionnez Configure... (Configurer...).

    c) Dans l’assistant de sécurité, le premier panneau doit être défini sur SQL Server. Cliquez sur Suivant.

    d) Dans le panneau Specify SQL Server (Spécifier SQL Server), examinez la valeur du serveur. Elle doit indiquer le nom du serveur pour que la machine distante puisse le retrouver. Le nom ne doit utiliser ni « . », ni « localhost ». Si nécessaire, vérifiez que le serveur Web distant hébergeant l’application peut accéder à SQL Server avec le nom (ou l’adresse IP). Si le nom de la machine SQL Server a déjà été défini sur un nom que le serveur Web distant peut employer pour l’accès, passez à l’étape 2 ci-dessous. Dans le cas contraire, modifiez le nom si nécessaire de telle sorte qu’il utilise le nom ou l’adresse IP de la machine SQL Server.

    e) Si le nom de SQL Server a été modifié, cliquez sur Connect (Se connecter) et terminez la procédure de l’assistant pour enregistrer les paramètres mis à jour.

    f) Accédez à l’onglet Applications et, pour l’application Web distante, cliquez sur le bouton Permissions (Autorisations).

    g) Dans la boîte de dialogue Permissions (Autorisations), cliquez sur Save (Enregistrer) (vous pouvez modifier les autorisations, mais cela n’est pas nécessaire). Cela permet de réécrire la configuration de l’application Web avec le nom de SQL Server mis à jour.

    h) Ouvrez l’application Web distante dans un navigateur et connectez-vous. Si la connexion aboutit et que vous parvenez à utiliser l’application, ignorez le reste de la procédure. Si une erreur d’autorisation apparaît, passez à l’étape 2.
  2. Il est nécessaire de configurer la connexion à la base de données SQL Server pour autoriser l’application Web à y accéder.

    L’approche illustrée ci-dessous consiste à employer une connexion SQL pour se connecter à la base de données plutôt que l’authentification Windows. Suivez les instructions ci-dessous pour modifier l’authentification de l’application Web de telle sorte qu’elle utilise une connexion SQL pour se connecter.

    a) Ouvrez SQL Server Management Studio et connectez-vous à l’instance SQL Server. Dans le cas de SQL Server Express, installez, si nécessaire, SQL Server Management Studio Express.

    b) Pour SQL Server Express, autorisez les connexions SQL. Pour ce faire, cliquez avec le bouton droit sur le serveur (\SQLEXPRESS) dans l’arborescence de gauche et sélectionnez Propriétés. Dans la fenêtre Propriétés, cliquez sur le lien de la page Sécurité. Dans le panneau Sécurité, cliquez sur l’option Mode d’authentification SQL Server et Windows sous Authentification du serveur. Cliquez sur OK pour enregistrer les paramètres et fermez la boîte de dialogue Propriétés.

    c) Ajoutez une nouvelle connexion SQL en développant le dossier Sécurité et en cliquant sur le dossier Connexions. Cliquez avec le bouton droit sur le dossier Connexions et sélectionnez Nouvelle connexion. Dans la boîte de dialogue qui s’ouvre, entrez le nom de la nouvelle connexion (par exemple, AGSApplications). Cliquez sur l’option Authentification SQL Server, entrez un mot de passe et confirmez ce dernier.

    d) Dans la même boîte de dialogue de la nouvelle connexion, cliquez sur le lien de la page Mappage de l’utilisateur. Sous Utilisateurs mappés à cette connexion, cochez la case située en regard de la base de données contenant les utilisateurs du système ArcGIS Server. Vérifiez que la base de données est mise en surbrillance dans la boîte de dialogue, puis, sous Appartenance au rôle de base de données : , cochez le rôle db_owner. Cliquez sur OK pour créer la connexion et son rôle. Fermez SQL Server Management Studio.

    e ) Connectez-vous à ArcGIS Server Manager et sélectionnez Security (Sécurité) > Settings (Paramètres) > Configure... (Configurer...).

    f) Dans l’assistant de sécurité, cliquez sur le serveur SQL Server correspondant à l’emplacement de l’utilisateur, si nécessaire, puis cliquez sur Next (Suivant).

    g) Dans le panneau Specify SQL Server (Spécifier SQL Server), entrez le nom du serveur SQL Server en indiquant le nom du serveur plutôt que « . » ou « localhost ». Cliquez sur Se connecter pour vous connecter au serveur SQL Server.

    h) Dans la partie inférieure de la boîte de dialogue qui apparaît, désélectionnez la case Utiliser la connexion approuvée. Entrez le nom de connexion et le mot de passe de la connexion SQL créée précédemment. Sélectionnez la base de données dans le menu déroulant Utiliser une base de données existante. Cliquez sur Next (Suivant) et terminez la procédure de l’assistant.

    f) Accédez à l’onglet Applications et, pour l’application Web distante, cliquez sur le bouton Permissions (Autorisations).

    j) Dans la boîte de dialogue Permissions (Autorisations), cliquez sur Save (Enregistrer) (vous pouvez modifier les autorisations, mais cela n’est pas nécessaire). Cela permet de réécrire la configuration de l’application Web avec la connexion de SQL Server mise à jour.

    k) Ouvrez l’application Web distante dans un navigateur et connectez-vous. Vous devriez pouvoir vous connecter et utiliser l’application. Si une erreur d’autorisations se produit, vérifiez à nouveau les paramètres de la connexion SQL et de la configuration d’ArcGIS Server Manager.