TP2 : Open DataBase Connectivity

publicité
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
Téléchargement