QGIS 2.4 Zugriff .mdb Fehler hinzufügen

9

Also habe ich hier die Anweisung befolgt: Kann QGIS eine ODBC-Verbindung lesen? zum Hinzufügen einer .mdb zu QGIS. Es gibt tolle Anweisungen über 1/3 des Weges nach unten. Aber ich kann es immer noch nicht öffnen. Ich habe unter Windows 7 mit QGIS 2.4 QGIS und meinen Computer neu gestartet. Ich erhalte immer noch die Fehlermeldung: "Ungültige Datenquelle: ODBC: co2014ProdSumm (übrigens die .mdb) ist keine gültige oder anerkannte Datenquelle."

Dies sind weder Vektorebenen noch eine persönliche ESRI-Geodatabase. Dies ist eine Access-Datenbank mit 2 Tabellen, die ich benötige.

Ich habe auch ein paar andere Beiträge gefunden. Wie greife ich in Qgis (mit Windows 7) auf eine MDB-Datei (Microsoft Access) zu? Wie importiere ich Informationen aus einer MDB-Datei in ein Projekt?

und dies könnte die Antwort sein, aber ich weiß nicht, wovon es spricht: Microsoft Access mdb "ist keine gültige oder anerkannte Datenquelle" in QGIS

Gibt es eine Möglichkeit, eine .mdb in QGIS hinzuzufügen? Außerdem habe ich auf meinem Computer keinen Zugriff.

Edit 1: Ich hoffe das klärt mein Problem. Jedes Mal, wenn ich eine ungültige Datenquelle erhalte: C: ... Co 2014 Annual Production Summary-xp.mdb ist keine gültige oder anerkannte Datenquelle. Hier habe ich die Zugangsverbindung hinzugefügt

Hier habe ich die Zugangsverbindung hinzugefügt

Versuch, als Vektordatei hinzuzufügen als Vektordatei hinzufügen

Beim Versuch, eine Datenbank hinzuzufügen, habe ich auch versucht, local: host 3000 zu verwenden. Der Fehler im Bild ist der gleiche, unabhängig von Quelle, Name usw. Ich habe versucht, alle Felder zu ändern. Geben Sie hier die Bildbeschreibung ein

TJ
quelle
Haben Sie meine Anweisungen "Akzeptierte Antwort" (Link zu meiner Antwort hier) befolgt, die in der Frage "Kann QGIS eine ODBC-Verbindung lesen" enthalten sind?
RyanKDalton
Ja, das sind die Anweisungen, auf die ich mich beziehe. Es schlägt fehl, wenn ich zu QGIS komme, um die MDB-Datei hinzuzufügen.
TJ
Ich habe ein Update vorgenommen, um jeden Schritt zu skizzieren. Auch ich folgte den Anweisungen x64. Ich habe vorher nachgesehen.
TJ
Ich habe alle Schritte ausgeführt und kann eine ODBC-Verbindung zu einer MDB-Datei erstellen. Wenn ich jedoch die Option ESRI Personal Geodatabase verwende, wird eine Fehlermeldung angezeigt. ¿Gibt es ein Problem mit der Datei? ¿Ist es möglich, dass die Datei keine Geodatabase-Datei ist? Danke

Antworten:

12

Beachten Sie, dass es zwei Möglichkeiten gibt, dies zu tun. Die Art und Weise, wie Sie es tun, ist der lange Weg, aber so werde ich hier zeigen, wie es geht. Der andere Weg besteht darin, einfach zu Vektorebene hinzufügen zu gehen, dann Datei auszuwählen und dann zu dem Ort zu navigieren, an dem sich Ihre MDB-Datei befindet, und die MDB-Datei zu öffnen.

Zunächst müssen Sie sicherstellen, dass die 32-Bit-Version von QGIS verwendet wird. Laden Sie QGIS für Windows 32 Bit herunter und installieren Sie es. Sie benötigen eine 32-Bit-Version von QGIS, da Microsoft keinen 64-Bit-Treiber für Access (.mdb) erstellt. Esri ArcMap ist ebenfalls 32-Bit, sodass es mit MDB-Dateien arbeiten kann.

Zweitens müssen Sie einen DSN (Data Source Name) erstellen. Um einen DSN zu erstellen, gehen Sie zu Ihrer Startschaltfläche und klicken Sie darauf.

Start Knopf

Geben Sie als Nächstes im Suchfeld% windir% \ SysWoW64 \ odbcad32.exe ein und klicken Sie auf das Programm odbcad32.exe.

ODBC-Datenquellenfenster

Klicken Sie auf die Registerkarte System-DSN

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf die Schaltfläche Hinzufügen, um eine DSN hinzuzufügen, damit auf ODBC und Esri Personal Database.mdb zugegriffen werden kann. Sobald Sie auf die Schaltfläche Hinzufügen klicken, wird ein neues Dialogfeld angezeigt. Wählen Sie in diesem Dialogfeld Microsoft Access-Treiber (*. MDB) aus und klicken Sie auf Fertig stellen.

Zugriffstreiber hinzufügen

Nach dem Klicken auf Fertig stellen wird ein weiteres Dialogfeld angezeigt. Geben Sie in diesem Dialogfeld QGIS als Datenquellennamen ein.

Name der Datenquelle

Klicken Sie anschließend unter Datenbanken auf die Schaltfläche Auswählen. Sobald Sie diese Schaltfläche ausgewählt haben, wird ein weiteres Dialogfeld angezeigt. Dies ist das Dialogfeld "Datenbank auswählen".

Geben Sie hier die Bildbeschreibung ein

In diesem Dialogfeld müssen Sie zu Ihrer MDB-Datei navigieren. Sobald Sie sich im Ordner befinden, wird die MDB-Datei im linken Feld angezeigt. Wählen Sie Ihre MDB-Datei aus und klicken Sie auf OK

Letzte Auswahl

Jetzt sollte das ODBC Microsoft Access Setup-Dialogfeld angezeigt werden. Das Dialogfeld sollte Ihnen Ihre MDB-Datei wie im folgenden Dialogfeld anzeigen.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie nun im Dialogfeld auf OK. Beachten Sie auch, dass der Name der Datenquelle QGIS ist. Wir werden diesen Namen beim Einrichten einer ODBC .mdb / Esri Personal GeoDatabase.mdb verwenden. Sobald Sie auf OK klicken, sollte ein Dialogfeld wie das folgende angezeigt werden, in dem der gerade erstellte DSN angezeigt wird. Klicken Sie in diesem Dialogfeld auf OK, um es zu schließen.

Geben Sie hier die Bildbeschreibung ein

Öffnen Sie nun QGIS 2.4 und gehen Sie zu Vektorebene hinzufügen Geben Sie hier die Bildbeschreibung ein

Wählen Sie nun Datenbank aus und wählen Sie dann die gewünschte Codierung aus. Wählen Sie dann unter Datenbanktyp die Option Esri Personal GeoDatabase aus

Geben Sie hier die Bildbeschreibung ein

Klicken Sie nun im selben Dialogfeld auf die Schaltfläche Neu

Geben Sie hier die Bildbeschreibung ein

Ein neues Dialogfeld wird angezeigt. Füllen Sie in diesem Dialogfeld die Felder Typ, Name und Datenbank aus. Wählen Sie im Feld Typ die Option Esri Personal GeoDatabase aus. Geben Sie als Namen ein, was Sie wollen. Geben Sie für das Feld Datenbank QGIS ein. Beachten Sie, dass QGIS denselben Namen hat wie der zuvor erstellte DSN.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie nun auf die Schaltfläche Test.

Geben Sie hier die Bildbeschreibung ein

Wenn alles richtig eingerichtet ist, sehen Sie dies, nachdem Sie auf die Schaltfläche Test geklickt haben.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie anschließend auf OK, um den Test zu schließen, und klicken Sie dann auf OK, um die Datenbankverbindung zu beenden.

Geben Sie hier die Bildbeschreibung ein

Jetzt sollten Sie den Namen sehen, den Sie der Verbindung gegeben haben, und dann auf die Schaltfläche Öffnen klicken. Sobald Sie auf Öffnen klicken, werden Sie nach einem Passwort gefragt. Klicken Sie einfach auf OK, es sei denn, die Datenbank hat ein Passwort.

Geben Sie hier die Bildbeschreibung ein

Nachdem Sie im Dialogfeld "Kennwort" auf "OK" geklickt haben, wird ein Dialogfeld wie das folgende angezeigt:

Geben Sie hier die Bildbeschreibung ein

Wählen Sie Ihre Ebene aus und klicken Sie auf OK. Nachdem Sie die gewünschte Ebene ausgewählt und auf OK geklickt haben, wird ein weiteres Dialogfeld angezeigt. In diesem Dialogfeld werden Koordinatenreferenzen festgelegt.

Geben Sie hier die Bildbeschreibung ein

Und wir sind fertig! Sie können dies mit der regulären .mdb- oder Esri Personal GeoDatabase tun. Dazu müssen Sie einen DSN erstellen und dann eine Verbindung herstellen. Es gibt einen einfacheren Weg, indem Sie einfach einen Vektor hinzufügen und sicherstellen, dass Datei ausgewählt ist, und dann einfach zu Ihrer MDB navigieren. Beachten Sie, dass Sie QGIS 32-Bit benötigen, um mit MDB-Datenbanken arbeiten zu können.

Geben Sie hier die Bildbeschreibung ein

GisDoodler
quelle
Vielen Dank für die Hilfe, aber die Tabellen werden nicht geladen. Es sagt Fehler, aber es ist leer nächste Fehlermeldung. Jetzt weiß ich nicht, was ich tun soll. Ich habe Qgis 32bit heruntergeladen und von vorne angefangen. Ich habe sogar versucht, einfach hinzuzufügen und dann zu klicken und zu ziehen, und es werden die Tabellen eingezogen, aber sie sind alle leer. Auch Qgis 32bit auf einem 64-Bit-Computer läuft ziemlich langsam und wirft Fehler auf, wenn Sie versuchen, es zu öffnen. Daher würde ich nicht empfehlen, ein 32-Bit mit einem 64-Bit zu verwenden.
TJ
@ GisDoodler, ausgezeichneter Beitrag!
RyanKDalton
Wunderschön! Die Anweisungen wie oben funktionierten einwandfrei! Vielen Dank für Ihren Beitrag und Ihre Zeit!
@ GisDoodler: Vielen Dank! Sowohl die längere als auch die kürzere Methode funktionierten für mich, als ich zu 32-Bit-QGIS wechselte. Beachten Sie jedoch Folgendes: Wenn in der MDB-Datei Tabellen mit langen Namen vorhanden sind, werden diese nicht ordnungsgemäß verknüpft. Nur Tabellen mit Namen von 8 Zeichen oder weniger (und keine Leerzeichen, keine Sonderzeichen) scheinen richtig zu verknüpfen.
Sharad
0

Wenn Sie dem ODBC-Beitrag von GisDoodler hinzufügen, können Sie mithilfe einer virtuellen Datei eine Verbindung zu einer Tabelle einer Access-Datenbank herstellen und die Geometriespalten manuell definieren. Die virtuelle Datei kann folgendermaßen aussehen:

<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>

Sie müssen noch das ODBC-DSN-Zeug ausführen und benötigen eine 32-Bit-Version von QGIS. Anstatt eine Datenbankverbindung zu öffnen, fügen Sie die vrt-Datei zum Inhaltsverzeichnis hinzu.

AndreJ
quelle