Erreur d'ajout de QGIS 2.4 access .mdb

9

J'ai donc suivi les instructions ici: QGIS peut-il lire une connexion ODBC? pour ajouter un .mdb dans QGIS. Il existe d'excellentes instructions sur 1/3 de la descente. Mais je n'arrive toujours pas à l'ouvrir. Sous Windows 7 avec QGIS 2.4, j'ai redémarré QGIS et mon ordinateur. J'obtiens toujours l'erreur: "Source de données non valide: ODBC: co2014ProdSumm (en fait, c'est le .mdb) n'est pas une source de données valide ou reconnue."

Ce ne sont pas des couches vectorielles ni une géodatabase personnelle ESRI. Il s'agit d'une base de données Access avec 2 tables dont j'ai besoin.

J'ai également trouvé quelques autres articles Comment accéder à un fichier .mdb (Microsoft Access) dans Qgis (avec Windows 7)? Comment importer des informations du fichier mdb dans un projet?

et celui-ci pourrait être la réponse, mais je ne sais pas de quoi il s'agit: Microsoft Access mdb "n'est pas une source de données valide ou reconnue" dans QGIS

Existe-t-il un moyen d'ajouter un .mdb dans QGIS? De plus, je n'ai pas d'accès sur mon ordinateur.

Edit 1: J'espère que cela clarifie mon problème. Chaque fois que j'obtiens une source de données non valide: C: ... Co 2014 Annual Production Summary - xp.mdb n'est pas une source de données valide ou reconnue. Voici où j'ai ajouté la connexion d'accès

Voici où j'ai ajouté la connexion d'accès

Essayer d'ajouter en tant que fichier vectoriel ajouter en tant que fichier vectoriel

En essayant d'ajouter une base de données, j'ai également essayé local: hôte 3000 L'erreur dans la photo est la même quelle que soit la source, le nom, etc. J'ai essayé de changer tous les champs autour. entrez la description de l'image ici

TJ
la source
Avez-vous suivi mes instructions de "réponse acceptée" (lien vers ma réponse ici) qui se trouvent dans la question "QGIS peut-il lire une connexion ODBC"?
RyanKDalton
Oui, ce sont les instructions auxquelles je fais référence. Il échoue lorsque j'arrive à QGIS pour ajouter le fichier .mdb.
TJ
J'ai fait une mise à jour pour décrire chaque étape. J'ai également suivi les instructions x64. J'ai vérifié avant la main.
TJ
J'ai suivi toutes les étapes et je suis en mesure de créer une connexion ODBC à un fichier mdb, mais lorsque j'utilise l'option de géodatabase personnelle ESRI, un message d'erreur s'affiche. ¿Y a-t-il un problème avec le fichier? ¿Est-il possible que le fichier ne soit pas un fichier de géodatabase? Merci

Réponses:

12

Notez qu'il existe deux façons de procéder. La façon dont vous vous y prenez est longue, mais c'est ainsi que je vais montrer comment le faire ici. L'autre façon consiste simplement à ajouter une couche vectorielle, puis à sélectionner un fichier, puis à rechercher l'emplacement de votre fichier .mdb et à ouvrir le fichier .mdb.

Tout d'abord, vous devez vous assurer que la version QGIS 32 bits est utilisée. Téléchargez et installez QGIS pour Windows 32 bits. Vous avez besoin d'une version 32 bits de QGIS car Microsoft ne crée pas de pilote 64 bits pour Access (.mdb). Esri ArcMap est également 32 bits, il peut donc fonctionner avec des fichiers .mdb.

Deuxièmement, vous devez créer un DSN (nom de la source de données). Pour créer un DSN, accédez à votre bouton Démarrer et cliquez dessus.

Bouton Start

Ensuite, dans la zone de recherche, tapez% windir% \ SysWoW64 \ odbcad32.exe et cliquez sur le programme odbcad32.exe.

Fenêtre de source de données ODBC

Cliquez sur l'onglet DSN système

entrez la description de l'image ici

Cliquez sur le bouton Ajouter pour ajouter un DSN afin que ODBC et Esri Personal Database.mdb soient accessibles. Une fois que vous avez cliqué sur le bouton Ajouter, une nouvelle boîte de dialogue apparaît. Dans cette boîte de dialogue, sélectionnez Microsoft Access Driver (*. Mdb) et cliquez sur Terminer.

Ajouter un pilote d'accès

Après avoir cliqué sur Terminer, une autre boîte de dialogue apparaîtra. Dans cette boîte de dialogue, placez QGIS pour le nom de la source de données.

Nom de la source de données

Cliquez ensuite sur le bouton Sélectionner sous Bases de données. Une fois que vous avez sélectionné ce bouton, une autre boîte de dialogue apparaît: c'est la boîte de dialogue de sélection de la base de données.

entrez la description de l'image ici

Dans cette boîte de dialogue, vous devez accéder à votre fichier .mdb. Une fois dans le dossier, le fichier .mdb apparaîtra dans la case de gauche. Sélectionnez votre fichier .mdb et cliquez sur OK

Sélection finale

Vous devriez maintenant voir la boîte de dialogue d'installation ODBC Microsoft Access. La boîte de dialogue devrait vous montrer votre fichier .mdb comme la boîte de dialogue ci-dessous.

entrez la description de l'image ici

Cliquez maintenant sur OK dans la boîte de dialogue. Notez également que le nom de la source de données est QGIS. Nous utiliserons ce nom lors de la configuration d'une GeoDatabase.mdb ODBC .mdb / Esri Personal. Une fois que vous avez cliqué sur OK, vous devriez voir une boîte de dialogue comme celle-ci, qui montre le DSN que vous venez de créer. Cliquez sur ok dans cette boîte de dialogue pour la fermer.

entrez la description de l'image ici

Ouvrez maintenant QGIS 2.4 et accédez à Ajouter une couche vectorielle entrez la description de l'image ici

Maintenant, sélectionnez la base de données, puis sélectionnez le codage que vous souhaitez, puis sous Type de base de données, sélectionnez Esri Personal GeoDatabase

entrez la description de l'image ici

Maintenant, dans la même boîte de dialogue, cliquez sur le nouveau bouton

entrez la description de l'image ici

Une nouvelle boîte de dialogue apparaîtra. Dans cette boîte de dialogue, remplissez les champs Type, Nom et Base de données. Pour le champ Type, sélectionnez Esri Personal GeoDatabase. Pour le nom, tapez ce que vous voulez. Pour le champ Base de données, tapez QGIS. Notez que QGIS est le même nom que le DSN que nous avons créé précédemment.

entrez la description de l'image ici

Cliquez maintenant sur le bouton de test.

entrez la description de l'image ici

Si tout est correctement configuré, vous le verrez après avoir cliqué sur le bouton de test.

entrez la description de l'image ici

Cliquez ensuite sur ok pour fermer le test, puis sur OK pour terminer la connexion à la base de données.

entrez la description de l'image ici

Vous devriez maintenant voir le nom que vous avez donné à la connexion et une fois que vous l'avez fait, cliquez sur le bouton Ouvrir. Une fois que vous cliquez sur ouvrir, il vous demandera un mot de passe. Cliquez simplement sur OK, sauf si la base de données a un mot de passe.

entrez la description de l'image ici

Après avoir cliqué sur OK dans la boîte de dialogue de mot de passe, vous verrez une boîte de dialogue comme ci-dessous:

entrez la description de l'image ici

Sélectionnez votre calque et cliquez sur ok. Après avoir sélectionné le calque souhaité et cliqué sur OK, vous verrez une autre boîte de dialogue. Cette boîte de dialogue sert à définir des références de coordonnées.

entrez la description de l'image ici

Et nous avons terminé! Vous pouvez le faire avec .mdb ordinaire ou Esri Personal GeoDatabase. Pour ce faire, vous devez créer un DSN puis configurer une connexion. Il existe un moyen plus simple, qui consiste simplement à ajouter un vecteur et à vous assurer que Fichier est sélectionné, puis à parcourir votre fichier .mdb. Remarque, vous avez besoin de QGIS 32 bits pour travailler avec les bases de données .mdb.

entrez la description de l'image ici

GisDoodler
la source
Merci pour l'aide, mais elle ne chargera pas les tables. Il indique une erreur, mais le message d'erreur suivant est vide. Alors maintenant, je ne sais pas quoi faire. J'ai téléchargé Qgis 32 bits et j'ai tout recommencé. J'ai même essayé d'ajouter, puis de cliquer et de faire glisser et cela tire dans les tableaux, mais ils sont tous vides. De plus, Qgis 32 bits sur un ordinateur 64 bits s'exécute assez lentement et génère des erreurs lorsque vous essayez de l'ouvrir. Je ne recommanderais donc pas d'utiliser un 32 bits avec un 64 bits.
TJ
@GisDoodler, excellent article!
RyanKDalton
Absolument magnifique! Les instructions fournies ci-dessus ont parfaitement fonctionné! Merci beaucoup pour votre contribution et le temps passé!
@GisDoodler: Merci beaucoup! la méthode plus longue et plus courte a fonctionné pour moi, une fois que je suis passé à QGIS 32 bits. Cependant, un point à noter: si l'on a des tables dans le fichier .mdb avec des noms longs, elles ne se lient pas correctement. Seuls les tableaux avec des noms de 8 caractères ou moins (et pas d'espaces, pas de caractères spéciaux) semblent se lier correctement.
Sharad
0

En ajoutant à la publication ODBC de GisDoodler, vous pouvez utiliser un fichier virtuel pour vous connecter à une table d'une base de données Access et définir les colonnes de géométrie manuellement. Le fichier virtuel peut ressembler à ceci:

<OGRVRTDataSource>

<OGRVRTLayer name="worms">
    <SrcDataSource>ODBC:DISEASE,worms</SrcDataSource>
<SrcLayer>worms</SrcLayer>
<GeometryType>wkbPoint</GeometryType>
    <LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="x" y="y"/>
</OGRVRTLayer>

</OGRVRTDataSource>

Vous devez toujours faire les choses ODBC-DSN et avez besoin d'une version 32 bits de QGIS. Au lieu d'ouvrir une connexion à la base de données, vous ajoutez le fichier vrt à la table des matières.

AndreJ
la source