Connessione a mdb con php7

amhal

Utente Attivo
17 Feb 2011
89
1
8
Buongiorno a tutti,
ho trovato uno script per connettermi a un db mdb, funziona ma con php 5.4, vorrei farlo funzionare con php7.4, ma restituisce questo errore

Fatal error: Uncaught com_exception: <b>Source:</b> Microsoft OLE DB Provider for ODBC Drivers<br/><b>Description:</b> [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato. in C:\apache\prova\index.php:7 Stack trace: #0 C:\apache\prova\index.php(7): com->open('DRIVER={Microso...') #1 {main} thrown in C:\apache\prova\index.php on line 7

grazie in anticipo.
 

amhal

Utente Attivo
17 Feb 2011
89
1
8
Dopo un mese di agonia e nottate sono riuscito a risolvere, ci sono tante guide ma le soluzioni postate non danno un iter completo da seguire.

Versione php7.4 x64
apache 2.4 x64

1) Controllare nel php.ini che le estensioni di seguito, siano decommentate (quindi senza punto e virgola)
extension=odbc
extension=pdo_odbc

2) Aprire "Amministratore origine dati ODBC (64bit)" e controllare che ci siano solo driver 64bit.
foto1.jpg


Questo punto è il fulcro di tutto il discorso. I driver presenti saranno quelli utilizzati come connettore nella stringa php,
per un db .mde andremo ad utilizzare : MS Access Database. Sono stato costretto a disinstallare i driver a 32bit, altrimenti andava in errore, quindi il driver 64bit non viene caricato se presente un driver 32bit, non so il perchè.
3) installare i driver per access a 64bit, io ho usato: accessdatabaseengine_X64.exe scaricato dal sito ufficiale microsoft.
4) riavviate il pc e quindi server apache
5) creare lo script seguente:

<?php $dbName = $_SERVER["DOCUMENT_ROOT"]. "/prova_mde/testdb/testdb.mdb"; // Definisce percorso e nome del database"; if (!file_exists($dbName)){die("file non trovato.");} else{echo 'db trovato <br />';} try { $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dbName; Uid=; Pwd=;"); } catch(PDOException $error_mess) { echo $error_mess->getMessage(); } $sql = "select * from categorie"; // eseguo la query $result = $db->query($sql); // ciclo tutti i risultati while ($row = $result->fetch()) { print_r($row); } ?>

PUNTI FONDAMENTALI DA RISPETTARE:
1) $_SERVER["DOCUMENT_ROOT"]. (senza e mettendo il percorso scritto per intero è andato in errore)
2) odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb) ( va scritto completo, in diverse guide scrivono fino a *.mdb, ma il
nome del connettore va scritto identico e completo)
3) ovviamente la classe pdo di php deve essere abilitata nel php.ini !!!!

ok questo è tutto, spero di aver risparmiato notti insonni ad altri.
ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
T [Problema] Connessione a MDB su host esterno Classic ASP 1
P connessione a .mdb in una rete Classic ASP 0
T problemi di connessione MySQL 2
S Risoluzione Immagini e Connessione Joomla 0
felino Modem Router Home&Life HUB Sercomm WD300: connessione instabile Adsl e Connettività 0
N Server mysql non raggiungibile da connessione esterna MySQL 1
R Problema connessione db PHP 7
S PHP Impossibile stabilire la connessione PHP 8
O [MySQL] connessione db MySQL 0
W Come effettuare ripetute chiamate Curl con la stessa connessione autentica [PHP] PHP 0
M [PHP] Istanza di Connessione PHP 0
M [PHP] Estendere Connessione a una Classe PHP 1
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
gandalf1959 Errore di connessione a DB MySql PHP 5
P Bloccare connessione internet per gli emulatori in android studio Sviluppo app per Android 2
G [MySQL] Connessione DB e query da file batch MySQL 1
M Problema con connessione MySqli e funzione PHP 2
M [MySql - VB6 sp6] Problema connessione db con alcuni pc (errore Lost connection to MySQL server...). MySQL 1
L [PHP] Connessione odbc su server Xampp PHP 1
E connessione db in visual basic 2010 Visual Basic 1
F php PDO mysql connessione(select_db) PHP 3
MrClog [PHP] Connessione con Domain Controller PHP 0
Matilde1 PHP: errore connessione database PHP 12
M Connessione da NetBeans a un db MySql MySQL 1
elpirata Connessione VPN PPTP Reti LAN e Wireless 0
M PHP: errore connessione a MySQL PHP 5
I [PHP] Connessione a ODBC PHP 12
M File Zilla interrompe connessione ad Aruba Windows e Software 14
Magenta [WordPress] Errore di connessione: si apre solo la home page e senza grafica WordPress 9
KILLERIX [PHP] Notifiche utente, connessione database, struttura generale dati PHP 3
S connessione database oracle in javascript Ajax 6
max1974 [ASP] connessione DB ACCESS Classic ASP 1
B Connessione php a DB Mysql solodomini MySQL 0
ceccone40 connessione ip camera Modem Telecom AG plus fibra IP Cam e Videosorveglianza 0
V [PHP] [OOP]Gestione errori connessione db PHP 5
D Persa connessione con apparecchio Bluetooth in background Sviluppo app per iOS 0
T Problema di connessione a DB remoto PHP 6
L Visibilità connessione Db con MySQLi in funzioni definite dall'utente PHP 0
localhost.nicola Connessione MSSQL e Query PHP 1
I Connessione database OleDB Classic ASP 1
localhost.nicola Errore connessione DB MSSQL PHP 7
P Connessione MySQL: aprirla ogni volta? PHP 1
S Problema connessione dlink dap-1320 con modem alice Reti LAN e Wireless 1
D Connessione tra un pc e il decoder tv i-can 2850ST Combo - tv on demand all'estero Reti LAN e Wireless 15
A Invio Email alla connessione di un Client su Lan Reti LAN e Wireless 2
F Xampp connessione instabile Presentati al Forum 0
C Problemi connessione PHP 10
S Connessione tra modem wifi e range extender Reti LAN e Wireless 1
M Problema connessione su OS X YOSEMITE 10.10 per il server locale mysql MySQL 0
M Problema connessione su OS X YOSEMITE 10.10 per il server locale mysql Mac e Software 0

Discussioni simili