Próbuję połączyć się z ODBC bazy danych za pośrednictwem PHP PDO
Klasa:PDO powrocie błąd „nie można znaleźć sterownika” ze znanym DSN pracy
$dsn = 'odbc:CS_HDZipCodes32bit';
$username = 'demo';
$password = 'skdemo!';
$connection = new PDO($dsn, $username, $password);
die(var_dump($connection));
ale kiedy zrobić, pojawia się błąd:
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\inetpub\wwwroot\pdoClass.php:7 Stack trace: #0 C:\inetpub\wwwroot\pdoClass.php(7): PDO->__construct('odbc:CS_HDZipCo...', 'demo', 'skdemo!') #1 {main} thrown in C:\inetpub\wwwroot\pdoClass.php on line 7
Wartość $dsn
jest nazwą DSN utworzonego w moim Menedżerze ODBC.
Znam ten konkretny DSN działa, ponieważ udało mi się zbudować kolejny plik demo i połączyć z powodzeniem poprzez 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));
Byłem kopanie poprzez dokumentację PDO-ODBC jak również inne zasobów online, ale nie mogę zrozumieć, dlaczego PHP nie może znaleźć sterownika podczas próby z PDO.
Wszelkie pomysły?
Aktualizacja
I otworzył moją stronę phpinfo aby upewnić się, że sterownik ODBC jest instalowany za Marc B. Komentarz:
Wygląda na to sterownik jest zainstalowany, chyba że jest to inny kierowca .
Kolejna aktualizacja
W dalszej kontroli mojego pojęcia php.ini za każdy dodatkowy komentarz Marc B., wygląda na to, że nie mają specyficzny sterownik POD ODBC zainstalowane:
Więc, jeśli Miałem sterownik ODBC dla zainstalowanego pdo, odbc
byłby na końcu listy, prawda?
próbowałaś odbc_connect na "złego" dsn? –
Tak, blok kodu na dole był ja przy użyciu tego samego dsn z góry z odbc_connect. –
ok, to czy sprawdziłeś, czy sterownik pdo odbc jest zainstalowany? pdo ma własne sterowniki i nie tylko "zawija" funkcje "odbc _ *()". –