Ich versuche, zu einer ODBC-Datenbank über die php PDO
Klasse zu verbinden:PDO Rückkehr Fehler mit einem funktionierenden DSN „nicht-Treiber finden konnte“
$dsn = 'odbc:CS_HDZipCodes32bit';
$username = 'demo';
$password = 'skdemo!';
$connection = new PDO($dsn, $username, $password);
die(var_dump($connection));
aber wenn ich es tue, erhalte ich die Fehlermeldung:
Der Wert $dsn
ist der Name des DSN, den ich in meinem ODBC Manager erstellt habe.
Ich weiß, diese besondere DSN funktioniert, weil ich eine andere Demo-Datei erstellen konnte und erfolgreich eine Verbindung über odbc_connect
:
$connection = odbc_connect("CS_HDZipCodes32bit", 'demo', 'skdemo!');
if(!$connection){
die('connection failed');
}
$statement = "SELECT * FROM ZipCodes";
$result = odbc_exec($connection, $statement);
// Outputs the zips as expected
var_dump(odbc_result_all($result));
Ich habe ebenso wie andere durch die PDO-ODBC Dokumentation gegraben Ressourcen online, aber ich kann nicht herausfinden, warum PHP den Treiber nicht finden kann, wenn er von PDO versucht.
Irgendwelche Ideen?
aktualisieren
ich meine phpinfo Seite sprang auf, um sicherzustellen, der ODBC-Treiber pro Marc B Kommentar installiert ist:
Es sieht aus wie der Treiber installiert ist, es sei denn dies ein anderer Fahrer .
Ein weiteres Update
Bei der weiteren Überprüfung meiner phpini pro Marc B zusätzlichen Kommentar, es sieht aus wie ich die POD ODBC bestimmten Treiber nicht installiert haben:
Also hier, wenn Ich hatte den ODBC-Treiber für PDO installiert, odbc
wäre am Ende der Liste, richtig?
auf dem "schlechten" dsn versuchen odbc_connect haben? –
Ja, der Codeblock am Ende war ich benutze die gleiche DSN von oben mit odbc_connect. –
ok, hast du dann überprüft ob der pdo odbc treiber installiert ist? pdo hat seine eigenen Treiber und "wickelt" nicht nur die Funktionen von odbc _ *() '. –