Considérations sur les bases de données

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.

J'ai entendu dire qu'il était possible d'accéder à Microsoft SQL Server à partir de PHP. Comment est-ce possible ?

Sur les machines UNIX, il est possible d'utiliser PDO_ODBC ou Unified ODBC API.

Sur les machines Windows, il est également possible d'utiliser PDO_SQLSRV ou SQLSRV.

Jetez aussi un oeil à la réponse à la question suivante.

Puis-je accéder à des bases Microsoft Access ?

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. » OpenLink Software fournit des pilotes ODBC pour Unix qui peuvent le faire.

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 :

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 » site pour un téléchargement gratuit.

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 :

  • Installez MySQL sur la plate-forme conformément aux instructions de MySQL. Il est disponible sur » http://www.mysql.com/. 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.
  • 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.
  • 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.
  • 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.
  • 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.

Trucs et astuces :

  • 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.
  • 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.
  • Lors d'une modification de table dans MySQL, il faut la lier de nouveau à Access. Allez dans Outils>suppléments>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.

add a note

User Contributed Notes 1 note

up
9
knb at gfz-potsdam dot de
21 years ago
This is a crucial piece of information for SYBASE users:

If you are using the free, but old, 11.x client libs from sybase,
 then compile with option  "--with-sybase-ct=$SYBASE"
substitute $SYBASE with the appropriate directory name.

option --with-sybase (without ct) can somehow be used to talk to old MS-SQL servers, but only with the 11.x client libs.

If you are using free, or have legally obtained, 12.x client libs from sybase, then compile with option  "--with-sybase-ct=$SYBASE/$SYBASE_OCS"
substitute $SYBASE/$SYBASE_OCS with the appropriate directory name.
To Top