<h2>But de ce document</h2>
<p class="spip">Ce document me sert de <strong class="spip">mémo</strong> pour <strong class="spip">installer et configurer Unix ODBC pour connecter OpenOffice.org à MySQL</strong>.</p>

<h2>Pré-requis</h2>
<p class="spip">Ce document a été testé sur une Debian Etch, mais il est facile de l’adapter à d’autres distributions.</p>

<p class="spip">Pour le serveur, il faut installé une Debian avec MySQL :
<br /></p>
<li> <a href="http://www.coagul.org/article.php3?id_article=158" class="spip_out">http://www.coagul.org/article.php3 ?id_article=158</a>
<br /><li> <a href="http://www.coagul.org/article.php3?id_article=169" class="spip_out">http://www.coagul.org/article.php3 ?id_article=169</a>
<p class="spip">Pour le poste client (qui peu être le même que le serveur), il faut installer OpenOffice.org :
<br /></p>
<li> <a href="http://www.coagul.org/article.php3?id_article=187" class="spip_out">http://www.coagul.org/article.php3 ?id_article=187</a>
<h2>Test du serveur MySQL</h2>
<h3>Vérification du fonctionnement de MySQL sur le serveur</h3>
<p class="spip">La commande suivante, permet de se connecter à MySQL en mode console :</p>

<p class="spip"><code class='spip_code' dir='ltr'>mysql </code></p>

<p class="spip">ou en remplaçant « Login » par le nom d’utilisateur de MySQL :</p>

<p class="spip"><code class='spip_code' dir='ltr'>mysql -u Login -p </code></p>

<p class="spip">Une fois connecté à MySQL, la commande suivante, permet d’afficher les bases de données :</p>

<p class="spip"><code class='spip_code' dir='ltr'>show databases;</code></p>

<p class="spip">La commande suivante permet de quitter la console de MySQL :</p>

<p class="spip"><code class='spip_code' dir='ltr'>quit </code></p>

<h3>Paramétrage de MySQL, pour qu’il écoute le réseau</h3>
<p class="spip">Pour des raisons de sécurité, par défaut, le serveur MySQL ne fonctionne qu’en local et n’écoute pas les requêtes en provenance du réseau. Pour rendre MySQL disponible pour le réseau, il faut supprimer ou commenter la ligne suivante dans le fichier « <strong class="spip">/etc/mysql/my.cnf</strong> » :</p>

<p class="spip"><code class='spip_code' dir='ltr'>skip-networking </code></p>

<p class="spip">Il faut ensuite redémarrer MySQL :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/etc/init.d/mysql restart</code></p>

<h3>Définir un mot de passe pour l’accès réseau pour MySQL</h3>
<p class="spip">Le plus simple de d’utiliser phpMyAdmin :
<br /></p>
<li> Cliquer sur le lien « Privilèges »
<br /><li> Cliquer sur le lien « Ajouter un utilisateur »
<ul class="spip"><li class="spip"> Renseigner le nom de l’utilisateur</li><li class="spip"> Dans la zone serveur, mettre « % », pour autoriser l’accès depuis n’importe quel utilisateur ou mettre « 192.168.0.% » pour utiliser tous les ordinateurs dont l’adresse IP commence par « 192.168.0 »</li><li class="spip"> Donner un mot de passe</li><li class="spip"> Cocher les droits à donner à cet utilisateur et valider</li></ul>
<h2>Installation d’Unix ODBC et de MyODBC sur le Client</h2>
<h3>Installation d’Unix ODBC et du driver ODBC de MySQL</h3>
<p class="spip"><code class='spip_code' dir='ltr'>aptitude install unixodbc libmyodbc </code></p>

<p class="spip">A la fin de l’installation la question suivante apparaît :</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Écran (Titre en rouge) </strong></th><th scope='col'><strong class="spip">Question </strong></th><th scope='col'><strong class="spip">Réponse</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>ODBC Setup</td><td>Souhaitez-vous que MyODBC soit enregistré en tant que pilote ODBC </td><td><strong class="spip">OUI</strong></td></tr>
</tbody>
</table>
<p class="spip">Pour information, la commande suivante permet de connaître l’emplacement des fichiers de configuration d’Unix ODBC :</p>

<p class="spip"><code class='spip_code' dir='ltr'>odbcinst -j</code></p>

<h2>Configuration d’Unix ODBC et de MyODBC sur le Client</h2>
<h3>Configuration du driver ODBC dans « <strong class="spip">/etc/odbcinst.ini</strong> ».</h3>
<p class="spip">Ce fichier permet de configurer les drivers ODBC présents sur le système.</p>

<p class="spip">Si vous avez répondu Oui à la question précédente, ce fichier doit contenir les informations suivantes. Si ce n’est pas le cas, il faut le modifier.</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>[MySQL]<br />
Description        = MySQL driver<br />
Driver                = /usr/lib/odbc/libmyodbc.so<br />
Setup                = /usr/lib/odbc/libodbcmyS.so<br />
CPTimeout        = <br />
CPReuse                = <br />
FileUsage        = 1</code></div>
<h3>Création de la source de données ODBC dans « <strong class="spip">/etc/odbc.ini</strong> ».</h3>
<p class="spip">Ce fichier contient la configuration des sources de données ODBC (DNS) du système. Chaque source doit correspondre à un driver ODBC référencé dans le fichier précédent et à une base de données existante.</p>

<p class="spip">Pour se connecter à la base de test fournie avec MySQL présente sur le serveur 192.168.0.1, ce fichier doit contenir les lignes suivantes :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>[MySQL-test]<br />
Descrition        = Base de test de MySQL<br />
Driver                = MySQL<br />
Server                = 192.168.0.1<br />
Database                = test<br />
Port                = 3306<br />
Socket                =<br />
Option                =<br />
Stmt                =<br />
User                =<br />
Password                =</code></div>
<p class="spip">Pour éviter de saisir le code utilisateur et le mot de passe à chaque connexion à la base de données, il est possible de renseigner les deux derniers champs du fichier ci-dessus.</p>

<p class="spip"><strong class="spip">Attention : </strong>dans ce cas le mot de passe sera écrit en claire. Il faut donc réserver cette possibilité uniquement pour un accès local ou avec un utilisateur ayant peut de droits.</p>

<h3>Tester la source de données ODBC</h3>
<p class="spip">La commande suivante, permet de tester la source de données précédente :</p>

<p class="spip"><code class='spip_code' dir='ltr'>isql MySQL-test</code></p>

<p class="spip">Si un mot de passe est nécessaire, il faut utiliser cette commande :</p>

<p class="spip"><code class='spip_code' dir='ltr'>isql MySQL-test NomDuUser MotDePasse</code></p>

<p class="spip"><strong class="spip">ATTENTION</strong> : Même si le « user » et le « password » est renseigné dans le fichier odbc.ini, il faut quand même l’indiquer avec la commande ci-dessus.</p>

<p class="spip">Une fois connecté à la source de données en mode console, la commande suivante, permet d’afficher les tables de la base de données :</p>

<p class="spip"><code class='spip_code' dir='ltr'>show tables</code></p>

<p class="spip">Et la commande suivante permet de sortir de la console</p>

<p class="spip"><code class='spip_code' dir='ltr'>quit </code></p>

<h2>Configuration d’OpenOffice.org pour se connecter à MySQL</h2>
<p class="spip">Pour cela, il suffit de créer une nouvelle base de données de type ODBC ou MySQL.</p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>21/01/05</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td>0.2</td><td>24/05/05</td><td>Mise à jour</td></tr>
<tr class="row_even"><td>0.3</td><td>31/05/08</td><td>Mise en ligne</td></tr>
</tbody>
</table>