1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-23 22:52:18 +01:00
Files
archived-doc-fr/faq/databases.xml
2026-03-02 13:40:31 +01:00

184 lines
7.3 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b8e1b1357def73f310c9f7405035b3acc0cb1eaf Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<chapter xml:id="faq.databases" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Considérations sur les bases de données</title>
<titleabbrev>Considérations sur les bases de données</titleabbrev>
<para>
Cette section traite de questions relatives aux relations entre PHP et
les bases de données. Oui, PHP peut accéder virtuellement à
n'importe quelle base de données disponible aujourd'hui.
</para>
<qandaset>
<qandaentry xml:id="faq.databases.mssql">
<question>
<para>
J'ai entendu dire qu'il était possible d'accéder à Microsoft SQL Server
à partir de PHP. Comment est-ce possible ?
</para>
</question>
<answer>
<para>
Sur les machines UNIX, il est possible d'utiliser <link linkend="ref.pdo-odbc">PDO_ODBC</link>
ou <link linkend="book.uodbc">Unified ODBC API</link>.
</para>
<para>
Sur les machines Windows, il est également possible d'utiliser <link linkend="ref.pdo-sqlsrv">PDO_SQLSRV</link>
ou <link linkend="book.sqlsrv">SQLSRV</link>.
</para>
<para>
Jetez aussi un oeil à la réponse à la question suivante.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.databases.access">
<question>
<para>Puis-je accéder à des bases Microsoft Access ?</para>
</question>
<answer>
<para>
Lors de l'utilisation de PHP sur une machine Unix pour se
connecter à une base Access sur une machine Windows, il faudra
des pilotes ODBC Unix.
<link xlink:href="&url.openlink;">OpenLink Software</link> fournit des
pilotes ODBC pour Unix qui peuvent le faire.
</para>
<para>
Une autre solution consiste à utiliser un serveur SQL qui a des pilotes
ODBC Windows et l'utiliser pour stocker les données, accessibles
à partir de Microsoft Access (en utilisant ODBC) et PHP (en
utilisant les pilotes inclus), ou bien utiliser un format de fichier
intermédiaire que Access et PHP peuvent traiter tous les deux, comme
des fichiers bruts ou des bases de données dBase. À ce sujet, Tim Hayes
de Openlink software écrit :
<blockquote>
<para>
Utiliser une autre base de données comme intermédiaire n'est pas une
bonne idée lorsqu'il est possible d'utiliser ODBC de PHP directement vers
les bases de données - par exemple avec les pilotes Openlink. En cas de
besoin d'un format de fichier intermédiaire, Openlink a publié
Virtuoso (un moteur de base de données virtuel) pour NT, Linux et
d'autres plates-formes Unix. Consulter le <link
xlink:href="&url.openlink;">site</link> pour un téléchargement gratuit.
</para>
</blockquote>
</para>
<para>
Une solution qui a fait ses preuves est d'utiliser MySQL et ses pilotes
MyODBC sous Windows et de synchroniser les bases de données. Steve Lawrence
écrit :
</para>
<para>
<itemizedlist>
<listitem>
<simpara>
Installez MySQL sur la plate-forme conformément aux instructions
de MySQL. Il est disponible sur <link
xlink:href="&url.mysql;">&url.mysql;</link>. Aucune
configuration particulière n'est nécessaire, mis à part que lorsque
l'on configure une base de données et un compte utilisateur, il
faille spécifier % dans le champ host, ou bien le nom de la machine
Windows avec laquelle on souhaite accéder à MySQL. Noter le
nom de serveur, d'utilisateur et le mot de passe.
</simpara>
</listitem>
<listitem>
<simpara>
Téléchargez les pilotes MyODBC pour Windows à partir du site de
MySQL. Les installer sur la machine Windows. Il est possible de tester
l'installation avec les utilitaires fournis avec les pilotes.
</simpara>
</listitem>
<listitem>
<simpara>
Créez un utilisateur ou une source de données système dans
l'administration ODBC, dans le panneau de configuration. Donnez un nom
de source de données dsn, entrez le nom d'hôte, identifiant, mot
de passe, port, etc. pour la base de données configurée à l'étape 1.
</simpara>
</listitem>
<listitem>
<simpara>
Installez Access avec une installation complète pour être sûr d'avoir
tous les composants nécessaires... Il faudra au moins le
support ODBC et le gestionnaire de tables liées.
</simpara>
</listitem>
<listitem>
<simpara>
Maintenant, la partie amusante ! Créez un accès à une base de données.
Dans la fenêtre de la table, cliquez droit et sélectionner Lier les
Tables, ou, dans le menu Fichier, sélectionnez Obtenir des données
externes et alors Lier les Tables.
Quand la fenêtre de gestion de fichiers apparaît, sélectionnez les
fichiers de type : ODBC. Sélectionnez dsn Système et le nom de la
dsn créée à l'étape 3. Sélectionnez la table à lier, cliquez sur OK,
et voilà ! Il est maintenant possible d'ouvrir la table et
ajouter/supprimer/éditer des données sur le serveur MySQL. Il est
ainsi possible d'exécuter des requêtes, importer/exporter des tables vers
MySQL, construire des formulaires et des rapports, etc.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Trucs et astuces :
<itemizedlist>
<listitem>
<simpara>
Il est possible de construire les tables dans Access et de les exporter dans
MySQL, puis de les lier de nouveau. Cela rend la création de table très
rapide.
</simpara>
</listitem>
<listitem>
<simpara>
Lors de la création de tables dans Access, il faut avoir une clé
primaire définie pour avoir accès en écriture à la table. Il faut s'assurer
d'avoir bien créé une clé primaire dans MySQL avant de
lier le tout à Access.
</simpara>
</listitem>
<listitem>
<simpara>
Lors d'une modification de table dans MySQL, il faut la lier de nouveau à
Access. Allez dans Outils&gt;suppléments&gt;gestionnaire de tables
liées, cherchez la DSN ODBC, et sélectionnez la table à lier de
nouveau. Il est aussi possible de changer la source dsn à partir de là,
en cliquant sur l'option toujours demander pour un nouvel emplacement
avant de presser OK.
</simpara>
</listitem>
</itemizedlist>
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->