IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Accès à une base DB2


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut Accès à une base DB2
    Bonjour,

    J'ai un serveur DEBIAN, avec PHP5 installé dessus.
    Je cherche à attaquer une base DB2 distante en natif (je veux éviter l'ODBC car il y aura pas mal de transactions). Apparemment il faudrait que je recompile DEBIAN et PHP avec des librairies spécifiques à l'AS400.... mais avant de m'engager dans des travaux d'hercules, j'aimerai avoir des retours d'expériences.

    Est-ce que l'un d'entre vous a déjà tenté l'aventure? Que pouvez vous en dire? Quelles sont les plus grosses difficultés à contourner, comment vous vous y êtes pris, est-ce que ça fonctionne bien, etc.

    Merci de vos retours.

    Théo

  2. #2
    Membre confirmé Avatar de greg91
    Homme Profil pro
    Administrateur système
    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Par défaut
    bonjour,

    Je n'ai pas l'expérience de connexion à DB2 avec php mais pourquoi ne pas utiliser PDO ?

    http://php.net/manual/fr/ref.pdo-odbc.php

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut
    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    Pour construire PDO_ODBC avec la saveur ibm-db2, vous devez avoir précédemment installé les en-têtes de développement de l'application de DB2 sur la même machine sur laquelle vous compilez PDO_ODBC. Les en-têtes de développement de l'application DB2 sont une option d'installation dans les serveurs DB2 et sont aussi disponibles en tant que DB2 Application Development Client gratuitement disponibles pour téléchargement à partir du » site. IBM DB2 Universal Database.
    Snifff ça paraissait trop simple.....

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut
    Aide toi et dieu t'aidera (à défaut de la communauté

    Alors voilà ce que j'ai fait et qui a marché:

    1. apt-get update
    2. apt-get install libaio1 ksh libstdc++5 (pour la compilation des sources DB2)
    3. apt-get install php5-dev (pour les modules PECL et PEAR).
    4. apt-get install gcc (pour la compilation des modules PHP DB2)
    5. (Télécharger le fichier d’installation de DB2 Express-C sur http://www-01.ibm.com/software/data/.../download.html)
    6. (Le déposer sur le serveur Linux avec scp ou en FTP).
    7. (Aller dans le répertoire où il a été copié)
    8. ./db2_install
    9. cd /var/tmp/
    10. wget http://pecl.php.net/get/ibm_db2-1.8.3.tgz (module DB2 PECL)
    11. tar –xvzf ibm_db2-1.8.3.tgz
    12. cd ibm_db2-1.8.3
    13. phpize
    14. ./configure --with-IBM_DB2=/opt/ibm/db2/V9.7/ (selon la version de DB2 Express-c)
    15. make
    16. make install
    17. vi /etc/php5/apache2/php.ini
    18. (Ajouter le module : extension=ibm_db2.so)
    19. vi /etc/php5/cli/php.ini
    20. (Ajouter le module : extension=ibm_db2.so)
    21. /etc/init.d/apache2 restart


    Maintenant je dois paramétrer les instances DB2 sur mon serveur DEBIAN pour attaquer la base DB2 distante... si vous avez des infos et des tuyaux, merci de votre aide.

    Théo

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut
    Quand je me connecte avec db2_connect, je récupère une erreur.
    [IBM][CLI Driver] SQL10007N Message "0" could not be retrieved. Reason code: "3". SQLCODE=-1390
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dsn = "HOSTNAME=172.16.0.1;PORT=21;DATABASE=SVI_ADR2/A140W00F;PROTOCOL=TCPIP;UID=XXXXXXXXXXX;PWD=XXXXXXXXX;";
    if (! $obj_connexion = db2_connect($dsn, "XXXXXXXX", "XXXXXXXXX")) print("Connexion refusée - ".db2_conn_errormsg()." // ".db2_conn_error());
    Ce que dit IBM sur cette erreur:
    Message msgno could not be retrieved. Reason code: code .

    The message file could not be found. Either the file does not exist, or the directory the message file should be in does not exist. Check that a either a 'prime' directory (the default) or a directory with the same name as the 'LANG' environment variable exists under the message directory.
    J'ai aussi vu ça sur le code de retour d'erreur SQL:
    http://www.dbforums.com/db2/781874-sqlcode-1390-a.html
    SQL1390C The environment variable DB2INSTANCE is not defined or is invalid.

    Explanation: The environment variable DB2INSTANCE is not defined
    or is not set to a valid instance owner.

    User Response: Set the DB2INSTANCE environment variable to the
    name of the instance to use. If you do not know the name of the
    instance to use or how to set the DB2INSTANCE environment
    variable to the instance name, refer to the Administration
    Guide.

    Federated system users: refer to the Installation and
    Configuration Supplement for DB2INSTANCE information.

    Ensure your PATH environment variable contains the sqllib/adm
    path in the home directory of the instance you want to use (for
    example, /u/instance/sqllib/adm, where /u/instance is the home
    directory of the instance owner on a UNIX system).
    Bref je pense que j'ai un problème avec mon instance DB2 sur Linux.... mais comment la créer exactement.... that is the question

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Accés à une base de données AS400
    Par Green Hornet dans le forum Accès aux données
    Réponses: 8
    Dernier message: 14/11/2011, 11h26
  2. Accès à une base Pervasive
    Par david_chardonnet dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/10/2005, 20h53
  3. [SYBASE] Acces à une base SYBASE V12 via VB6
    Par pulley60 dans le forum Sybase
    Réponses: 2
    Dernier message: 23/09/2004, 14h21
  4. Refus d'accès à une base Firebird
    Par severine dans le forum Installation
    Réponses: 18
    Dernier message: 04/06/2003, 16h03
  5. [Dev-C++] Accès à une base MySQL
    Par Beetlejuice dans le forum Dev-C++
    Réponses: 8
    Dernier message: 08/05/2003, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo