Dépannage de la base de données
Dépannage des problèmes de base de données
Vous trouverez ci-dessous les étapes de dépannage général des problèmes de base de données. Les informations spécifiques sur les tables et les colonnes de la base de données se trouvent dans la section Tables de la base de données du Géoportail. Si les éléments généraux ci-dessous n'aident pas à résoudre votre problème, regardez les éléments spécifiques pour rechercher votre type de logiciel du système de base de données :
Dépannage général de la base de données- Erreur : "Impossible de créer PoolableConnectionFactory..." ou "Impossible de charger la classe de pilote JDBC..." : Choses à vérifier :
- Si vous utilisez Tomcat, vérifiez si les paramètres sont corrects dans le fichier geoportal.xml qui se trouve dans le dossier \\TOMCAT\conf\Catalina\localhost. Vérifiez deux fois si les bons driverClassName, jdbc url, nom d'utilisateur et mot de passe sont corrects et ont été saisis sans espaces ou caractères en trop ou guillemets manquants.
- Vérifiez si le bon pilote jdbc pour votre base de données a été copié au bon emplacement dans votre conteneur servlet. Si vous utilisez Tomcat, voir la table du pilote de base de données jdbc dans la Section 8 du Guide d'installation du Géoportail pour savoir quels pilotes utiliser avec chaque base de données et obtenir des conseils sur l'emplacement où copier le pilote. Pour les autres logiciels d'application servlet, voir les guides d'installation respectifs pour ces environnements, qui se trouvent dans votre dossier <Geoportal distribution directory>\Documentation\Installation.
- Vérifiez le port que votre base de données utilise. Si le port est différent du port indiqué dans les informations de connexion jdbc (ex. : le fichier geoportal.xml pour Tomcat) ou si votre base de données attribue de manière dynamique le numéro de port, passez les ports attribués à un paramètre statique et modifiez le fichier geoportal.xml pour qu'il reflète le port qui est attribué. Un outil utile pour signaler l'état du port est un utilitaire de commande en ligne appelé PortQry.
SQL Server 2005 et 2008
Vérifiez si le TCP / l'IP est activé sur un protocole
- Lancez le Gestionnaire de configuration SQL Server à partir du menu Démarrer > Microsoft SQL Server 200x > Outils de configuration > Gestionnaire de configuration SQL Server.
- Activez le protocole TCP / IP en choisissant à partir de l'arborescence Configuration du réseau SQL Server, puis Protocoles pour MSSQLSERVER. Cliquez avec le bouton droit de la souris sur TCP / IP, puis sélectionnez Activer.
Vérifiez si le bon Port est attribué au TCP / IP
- Suivez les mêmes étapes ci-dessus pour sélectionner TCP / IP à partir du Gestionnaire de configuration SQL Server.
- Cliquez avec le bouton droit sur TCP / IP, puis sélectionnez Propriétés.
- Cliquez sur l'onglet Adresses IP. Faites défiler les IP indiqués et vérifiez si l'attribution du numéro de port de la machine hôte de la base de données et le port TCP. Ce port doit être utilisé dans le fichier geoportal.xml pour l'url jdbc.
- Si votre port est attribué de manière dynamique, vous devez modifier ce paramètres dans votre logiciel de base de données afin qu'il ne soit pas attribué de manière dynamique, puis utiliser le port désigné pour vos informations de connexion jdbc.
Vérifiez si votre serveur autorise l'authentification Windows et l'authentification SQL Server Si votre serveur autorise uniquement l'authentification Windows, l'utilisateur que le script crée ne pourra pas se connecter pour créer les tables. L'erreur dans le fichier build_schema.log lira Échec de connexion pour l'utilisateur. Pour vérifier et potentiellement modifier le mode d'authentification de sécurité (selon Microsoft, voir http://msdn.microsoft.com/en-us/library/ms188670.aspx ), faites ce qui suit :
- Connectez-vous à SQL Server Management Studio.
- Dans SQL Server Management Studio Object Explorer, cliquez avec le bouton droit de la souris sur le serveur, puis cliquez sur Propriétés.
- Sur la page Sécurité, sous Authentification du serveur, sélectionnez le radial Mode d'authentification SQL Server et Windows s'il n'est pas déjà sélectionné, puis cliquez sur OK.
- Dans la boîte de dialogue SQL Server Management Studio, cliquez sur OK pour reconnaître l'exigence pour redémarrer SQL Server.
Vérifiez si SQL Server n'est pas exécuté sur un disque compressé : Selon le site de support Microsoft Developer Network, il n'est plus possible de créer une base de données de lecture / d'écriture sur un système de fichiers compressé comme la version SQL Server 2005. Si les scripts de la base de données du Géoportail sont exécutés dans un environnement de fichier compressé, des erreurs surviendront.
PostgreSQL
- Les informations TCP / IP n'ont pas été déclarées : Vérifiez si le TCP / l'IP est spécifié comme paramètre dans le fichier pg_hba.conf. Vous devrez saisir un nouveau paramètre à la fin du fichier. La syntaxe est la suivante :
N° DE TYPE
BASE DE DONNÉES
UTILISATEUR
ADRESSE CIDR
MÉTHODE
hôte
tout
tout
<database server IP Address>/32
trust
- Listen_addresses n'ont pas été modifiées à partir du 'localhost' par défaut : Dans le fichier postgresql.conf, vous devrez mettre à jour la section listen_addresses sous la section de paramètres de connexion pour activer quelles adresses IP écouter.
e.g. listen_addresses = "*" (* indicates all)
Les modifications apportées aux fichiers pg_hba.conf et postgresql.conf nécessiteront un redémarrage du service postgres et du moteur servlet (Tomcat, Glassfish ou Weblogic). Pour plus d'informations sur les fichiers pg_hba.conf ou postgresql.conf, veuillez voir la section Authentification du client dans la documentation PostgreSQL.