Wie kann das Problem behoben werden, dass die ODBC-Verbindung zum DSN für ALC_AV_CO nicht initialisiert werden kann?


9

Ich bin neu in der QGIS-Community und habe versucht, einige ziemlich große Zugriffsdatenbanken mit wenig bis gar keinem Erfolg einzubringen. Ich habe Windows 7, daher habe ich Verwaltungstools / Datenquellen (ODBC) durchgesehen, um einen neuen Benutzer-DSN zu erstellen. Ich habe daraus einen Microsoft Access-Treiber ( .mdb, .accdb) gemacht und ihn mit der Datenbank verknüpft, die ich verwenden möchte.

Dann habe ich in QGIS die Option "Vektorebene hinzufügen" verwendet, "Datenbank" ausgewählt, ODBC vom linken Typ eingegeben, ihm einen Namen gegeben, localhost angegeben und für "Datenbank" in einem identischen Namen wie der von mir erstellte Benutzer-DSN geschrieben ... ABER ... jedes Mal, wenn ich Versuchen Sie es zu testen, es gibt den folgenden Fehler:

Connection failed - Check settings and try again.

Extended error information:
Unable to initialize ODBC connection to DSN for ALC_AV_CO,
[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

Warum macht es das?

Interessanterweise gelang es mir beim einzigen Erfolg, einen Benutzer-DSN zu erstellen, bei dem es sich um einen Microsoft Access-Treiber (* .mdb) ohne .accdb handelte (ich habe eine Version meiner Datenbank in .mdb gespeichert, damit dies auch funktioniert). Aus mir unbekannten Gründen steht mir diese Option im Menü "Neue Datenquelle erstellen" nicht mehr zur Verfügung, sodass ich sie nicht mehr verwenden kann!

Ich würde mich sehr freuen, wenn mir jemand einen Rat geben könnte, was ich falsch mache!


+1 - Ich habe den gleichen Prozess wie Sie versucht, mit dem gleichen Ergebnis. Übrigens ist dies der gleiche Prozess, den ein Kommentator auf @ underdarks Blog durchgeführt hat. Sie würden also denken, dass es funktionieren würde. Möglicherweise hat sich im ODBC-Treiber etwas geändert. Hier ist ein Link zu diesem Thread: Table Join - Eine neue Funktion in QGIS
Get Spatial

Ja, ich habe ähnliche Anweisungen beim Surfen in den Interwebs gefunden. Die beste funktionierende Lösung, die ich bisher gefunden habe, besteht darin, einfach alles in der Access-Datenbank zu erstellen, die ich irgendwie verbinden musste (wenn ich versuche, es im Benutzer-DSN zu öffnen, wird behauptet, dass die Datei nicht gefunden werden kann ... aber es funktioniert immer noch in QGIS). Ich war nur neugierig, ob ich einen Prozess falsch gemacht habe oder ob es einen Fehler gab.
user12104

Sie könnten wirklich in Betracht ziehen, einen Fehlerbericht auf der Website [QGIS] (www.qgis.org) einzureichen. Dies ist die Art von Dingen, die genauer untersucht werden sollten.
Holen Sie sich Spatial

Antworten:


2

Wenn Sie Win7 64 Bit verwenden:

Wahrscheinlich konfigurieren Sie die falsche Datenbankschnittstelle.

Verwenden Sie diese Datei:% systemdrive% \ Windows \ SysWoW64 \ Odbcad32.exe, um sie zu konfigurieren.

Es ist nicht dasselbe, wie Sie mit Mausklicks erreichen.

Wenn Sie mysql-db mit odbc verwenden, müssen Sie den richtigen Treiber installieren

Vielleicht hilft es, diese Website zu lesen / zu übersetzen

grüßt

kreike


1

In den bestandenen Fällen sind Fehler aufgetreten, die von den 64-Bit / 32-Bit-ODBC-Treibern (wie in der obigen Antwort erläutert) zwischen postgis / access / qgis abgeleitet wurden. Ich habe mich entschlossen, alle 3 auf 32 Bit herunterzustufen und kann jetzt problemlos über ODBC eine Verbindung zu .mdb und .accdb herstellen (es dauert eine Weile) und diese Tabellen anschließend mit Ebenen (shp und postgis) verbinden.

Und ich liebe es, wie qgis 2.0-Connectos auf Accessg und Postgis zugreifen können. Es ist ein fantastisches Tool für mich.


1

Ich habe festgestellt, dass ich zusätzlich zu Kreikes Antwort zur Installation des 32-Bit-Treibers an der richtigen Stelle auch die 32-Bit-Version von QGIS verwenden musste. Das 64-Bit-QGIS scheint nicht richtig mit dem 32-Bit-Treiber zu "sprechen" (oder es merkt möglicherweise nicht, dass es im SysWoW-Ordner abgelegt wurde).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.