+49-172-844 35 97

Opso-Consulting
Carsten Lohr
Pendlingstr. 8
83088 Kiefersfelden

Windows 64-Bit: Ärger mit der Verwaltung von 64 Bit ODBC Treibern

Seit einiger Zeit hatte ein Kunde von mir ein eigenartiges Problem:
Auf den mit Windows Vista 64-Bit und Windows 7 64-Bit ausgestatteten Maschinen kam es immer wieder zu einem eigenartigen Verhalten beim installieren und konfigurieren von ODBC Treibern für MySQL.
Nach der Installation der ODBC Treiber waren diese nur in manchen Fällen über den Menupunkt Systemsteuerung – Verwaltung – ODBC sichtbar.
Noch eigenartiger war das Verhalten, wenn ein ODBC Treiber in Access 2003 und Access 2007 über den Menupunkt Tabellen verknüpfen konfiguriert wurde. Der installierte Treiber und die dafür angelegte System DSN waren von Access aus auch nur in manchen Fällen sichtbar.
Ein Zufallsfund im Microsoft Support Bereich erklärte das eigenartige Verhalten.
In dem Artikel http://support.microsoft.com/kb/942976/de erläutert Microsoft, daß alle Windows 64-Bit Systeme zwei verschiedene Programme verwenden, um die ODBC Treiber zu verwalten. Eine Version verwaltet die 32 Bit ODBC Treiber, die andere die 64 Bit ODBC Treiber.
Standardmäßig wird in der Systemsteuerung die Version zur Verwaltung der 64-Bit ODBC Treiber aufgerufen. Diese Version zeigt nur installierte 64 Bit ODBC Treiber und deren DSN’s an. Installiert man jedoch einen 32 Bit ODBC-Treiber, so wird dieser und seine konfigurierten DSN’s nur angezeigt, wenn man die Version für die Verwaltung der 32 Bit ODBC Treiber aufruft. Access, üblicherweise als 32-Bit Anwendung installiert, ruft natürlich die 32 Bit Version auf. Die 32 Bit ODBC Treiber sind hier also wunderbar zu verwalten und zu konfigurieren. Kontrolliert man jedoch anschließende über die Systemsteuerung die auf der Maschine angelegten ODBC Einstellungen werden hier nur die 64-Bit Treiber angezeigt. In diesem Fall also nichts !
Um ohne Access die 32 Bit Version zu starten, muss diese manuell aus der Console aufgerufen werden !
Der Name der ODBC-Verwaltung ist für beide Versionen der gleiche: Odbcad32.exe .
Die Dateien befinden sich aber in unterschiedlichen Ordnern:
Die 32 Bit Version befindet sich im Ordner %systemdrive%\Windows\SysWoW64.
Die 64 Bit Version befindet sich im Ordner %systemdrive%\Windows\System32.
Ja ! Die 32 Bit Version liegt in …SysWoW64 und die 64-Bit Version in …System32 und beide Dateien nennen sich Odbcad32.exe. Ja, Softwareentwicklung ist manchmal spannend. Ein herzliches Dankeschön an die Entwickler von Microsoft für diese Logik !