Goubin Thomas 2IRIS TP2 : Open DataBase Connectivity Qu'appelle-t-on ODBC? ODBC signifie Open DataBase Connectivity. Il s'agit d'un format défini par Microsoft permettant la communication entre des clients bases de données fonctionnant sous Windows et les SGBD du marché. Le gestionnaire ODBC est présent sur les systèmes Windows. Il existe toutefois des implémentations sur d'autres plates-formes, notamment des plates-formes UNIX/Linux. Sous Windows 95 et 98 le gestionnaire ODBC est disponible dans le panneau de configuration sous l'icône suivant : La technologie ODBC permet d'interfacer de façon standard une application à n'importe quel serveur de bases de données, pour peu que celui-ci possède un driver ODBC (la quasi-totalité des SGBD possèdent un tel pilote, dont tous les principaux SGBD du marché). Inconvénients de la technologie ODBC Bien que ODBC permette un interfaçage avec des bases de données indépendamment du SGBD, cette technologie reste une solution propriétaire de Microsoft. Cela se traduit par une dépendance de la plateforme (ODBC ne fonctionne que sur les plateformes Microsoft Windows). D'autre part, ODBC est fortement lié au langage C (utilisation de pointeurs), et ODBC utilise des paramètres non standards, ce qui le rend difficile à mettre en oeuvre directement dans les programmes. Utilisation de pilotes de base de données pour communiquer avec votre base de données Menu du Panneau de configuration Pilotes par défaut TP2 1 Goubin Thomas 2IRIS Les interfaces ODBC, OLE DB et JDBC sont mises en place par des pilotes de base de données (ou « fournisseurs de données » en OLE DB), qui ne sont que des parties de logiciels. Lorsque votre application Web communique avec votre base de données, elle le fait par l'intermédiaire d'un pilote. Les pilotes de base de données sont spécifiques aux bases de données. Par exemple, vous pouvez utiliser des pilotes Microsoft Access, SQL Server et dBase. De même, vous pouvez utiliser des fournisseurs OLE DB tels que le fournisseur OLE DB pour SQL Server. Ce choix dépendra de votre base de données. Algorithme d’acc <?php odbc_close_all();// ferme toutes les connexions ODBC $dsn = "goubin"; $user = "root"; $passwd = ""; // connexion à une source $connexion = odbc_connect($dsn,$user,$passwd,SQL_CUR_USE_DRIVER) or die("Impossible de se connecter à la source."); // liste toutes les tables de la source et retourne un identifiant de résultat ODBC $tablelist = odbc_tables($connexion); echo "<table border='4'>"; while (odbc_fetch_row($tablelist)) // lit une ligne de résultat { if (odbc_result($tablelist, 4) == "TABLE") { $nom = odbc_result($tablelist, 3); //retourne le contenu echo "<tr><td>".$nom."</td></tr>"; } } echo "</table>"; $sql = "SELECT * FROM carte_mere"; // préparation et execution d’une requête SQL $res=odbc_exec($connexion,$sql) or die("Impossible d’exécuter la requête."); // lit une ligne de résultat, et la place dans un tableau while (odbc_fetch_into($res, $tableau)) { foreach ($tableau as $element) {echo "$element<br>";} } // Ferme la connexion ODBC odbc_close($connexion); ?> TP2 2