# Win7 x64: Access ODBC-System-DSN für XAMPP-PHP



## WiZdooM (30. September 2009)

Hallo

Ich bin mir nicht sicher wo genau meine Frage einzuordnen ist, daher erstmal hier im Windows-Bereich.

Seit kurzem werkelt eine Windows7 x64 aus dem Technet auf meinem PC. Um Leistungs und DSL-Leitungstechnisch etwas zu überprüfen habe ich mir einen DynDNS-Account angelegt und einen XAMPP aufgesetzt.

Da wir hier eine Access DB verwenden, wollte ich nun die DB mit PHP ansprechen. AFAIK geht das über ODBC.
Hierfür muss eine ODBC-Verbindung erstellt werden. Da gibt es ja 3 Anlaufstellen, von denen ich bisher der Meinung war, sie würden in das gleiche Resultat münden.
1. Systemsteuerung->Verwaltung->ODBC-Datenquellen:
Bei dem Aufruf über die Systemsteuerung ist es nicht möglich, eine DSN für Access einzurichten.
2. / 3. C:\Windows\System32\odbcad32.exe bzw. C:\Windows\SysWOW64\odbcad32.exe
Hier kann ich zwar eine DSN anlegen, aber XAMPP kann darauf nicht zugreifen. Genausowenig wird die DSN in den ODBC-Quellen der Systemsteuerung gelistet.

Ich habe irgendwo gelesen, dass es zwei Registries gibt: eine 32bit und eine 64bit. Weiterhin habe ich gelesen, dass unter Vistax64 wie auch Win7x64 keine DSN für z.b. Access eingerichtet werden können, da kein Treiber für 64bit existiert.

Ich gehe nun davon aus, dass die DSN die man über die odbcad32.exe anlegt, im 32-Bit-Register abgelegt werden und dass diejenigen, die über die Systemsteuerung angelegt werden, im 64-Bit-Register stehen. Was ich nur nicht verstehe ist, warum der XAMPP im 64-Bit-Register schaut obwohl es sich um eine 32-Bit-Applikation handelt.

Kann man das irgendwie umzeigern ? Oder Schlüssel vom 32-bit in den 64-bit Teil kopieren ?
Weiss jemand eine andere Möglichkeit die DSN verfügbar zu machen, außer eine VM zu installieren und da alles drauf laufen zu lassen oder auf ein 32bit OS auszuweichen?


----------



## Max Schmidt (3. März 2011)

Hallo,
stehe gerade vor dem selben Problem. 
Gibt es dazu eine Lösung ****?

Gruß Max


----------



## WiZdooM (5. März 2011)

Hi Max,

Wir haben damals alles mit VBS und XML-HTTP-Requests auf nen dedizierten Webserver bei Strato gemacht. Leider ist die Firma pleite gegangen und ich habe das Problem nicht länger untersucht. 

Mittlerweile ist ja einige Zeit ins Land gegangen und MS hat nun Office 2010 auch als 64 Bit verfügbar gemacht. Ich gehe davon aus, dass es nun auch einen entsprechenden ODBC-Treiber gibt und dass eine Access DSN  unter 64 Bit erzeugt und verwendet werden kann... Ich schau mal, ob meine neue Firma in der MSDN ein x64 Office haben und ob das was ich vermute zutrifft.

Edit: Ich hab des jetzt mal getestet:
- Ich verwende den aktuellen XAMPP-Release
- Mit "Datenquellen (ODBC)" kann man bei installiertem Office (in meinem Falle 2010 x64) eine DSN für Access erstellen, aber wenn man die x64-Version der Datenquellen verwendet, bekommt man folgenden Fehler:

Zitat MSDN:
If you use the 64-bit odbcad32.exe to configure or remove a DSN that connects to a 32-bit driver, for example, Driver do Microsoft Access (*.mdb), you will receive the following error message:

The specified DSN contains an architecture mismatch between the Driver and Application

To resolve this error, use the 32-bit odbcad32.exe to configure or remove the DSN.

D.h. man muss unter C:\Windows\System32\odbcad32.exe öffnen und dort eine System-DSN erstelllen. Dann klappts auch mit dem php odbc_connect().


----------



## Max Schmidt (7. März 2011)

Danke für die ausführliche Erklärung aber genau das habe ich schon gemacht. XAMPP und WAMP habe ich schon getestet und konnte leider nicht auf die DB zugreifen die unter C:\Windows\SysWOW64 liegt.
In der Standard obdcad32.exe sind zwar Verbindungen mit MySQL und MS Geschichten möglich aber ich benötige eine Paradox Verbindung die er mir unter der 32Bit Version anzeigt, die aber XAMPP bzw. der Apache so nicht "sieht". Somit kann ich keine Verbindung mit der Paradox DB aufnehmen. 
Danke erstmal ich such weiter.


----------

