Bonjour, tout le monde
Je voulais me connecter à une base Acces qui se trouve sur un serveur windows distant depuis PHP qui se trouve sur un autre serveur sous Linux.
Les étapes que j'ai fais au niveau configuration sont les suivants :
Sous le serveur Windows où se trouve le fichier Acces, j'ai ajouter la source des données;
Panneau de configuration => Outils d'administration => Sources des données systèmes => Ajouter => Microsoft access driver (.mdb) puis j'ai sélectionné la fichier access.
Sous le serveur Linux : où tourne PHP : j'ai installé la librairie mdbtools
j'ai modifié les deux fichier suivant :
odbcinst.ini :
odbc.ini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [Microsoft Access Driver (*.mdb)] Description = MDB Tools ODBC drivers Driver = /usr/local/mdbtools/lib/libmdbodbc.so setup = FileUsage = 1 CPTimeout = CPReuse =
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [agenda] Driver = /usr/local/mdbtools/lib/libmdbodbc.so Description = connection base agenda Trace = No Servername = ...... Port = Database = agendaEnews
et quand j'exécute mon code PHP j'ai le message d'erreur suivant :
Warning: odbc_connect() [function.odbc-connect]: SQL error: Failed to fetch error message, SQL state HY000 in SQLConnect in /home/www/web-nefertiti/admin-ve/webcontent/Enews/lp/connexion_agenda_lp.php on line 7
Erreur de connexion
voici mon code PHP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php // connection à la base putenv("ODBCINI=/etc/odbc.ini"); putenv("ODBCINSTINI=/etc/odbcinst.ini"); putenv("LD_LIBRARY_PATH=/usr/local/mdbtools/lib"); $dbms = odbc_connect("agenda", "", "") or die('Erreur de connexion '); $sTmpTableName = "saisie"; $sql="SELECT * FROM $sTmpTableName"; $rs=odbc_exec($dbms,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>Email</th>"; echo "<th>Date</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"email"); echo "<tr><td>$compname</td>"; echo "<td></td></tr>"; } odbc_close($dbms); echo "</table>"; ?>
si quelqu'un peut m'aider à identifier le problème ? Merci d'avance
Bonne soirée
Partager