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

DB2 Discussion :

Connection à une base sur iseries depuis le "centre de contrôle"


Sujet :

DB2

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Connection à une base sur iseries depuis le "centre de contrôle"
    Bonjour à tous,

    J'ai fait quelques recherches sur le forum mais je n'ai rien trouvé de vraiment précis à ma problématique.
    Je m'explique :

    1- Nous avons une base de données DB2 sur une machine iseries.

    2- Par ailleurs, nous avons au sein de l'équipe de dev, une instance DB2 Personnel Edition (sur plate forme windows) pour les besoins du developpement.

    3- Nous avons enfin, une machine de test (serveur windows) qui simule l'environnement de prod où nous avons également une version Personnel Edition de DB2.

    Nous utilisons pour le dev comme outil d'administration la suite d'outils installé avec DB2 Personnel Edition, et plus particulièrement le "Centre de Contrôle".

    Et pour la machine de prod (distante) nous utilisons iseries Navigator.

    Or, j'ai appris récemment qu'il était possible d'accéder à une base distante, en l'occurence DB2 iseries, depuis l'outil "Centre de Contrôle".
    J'ai essayé d'ajouter ma base distante depuis l'assistante de configuration...rien à faire, j'ai toujours un échec.

    J'ai essayé divers paramétrage, mais j'ai toujours un message d'erreur.

    En faisant à la fin de la procédure un test de la connection, j'obtiens un message d'erreur relatif à un problème de licence.

    Ma question est donc la suivante :
    Est ce que la version Personnel Edition ne permet pas un accès à une base distante sur une machine iseries ?
    (c'est ce que j'ai cru comprendre suite à différentes recherches sur le net).

    L'intérêt pour nous étant également ensuite d'utiliser l'outil "centre de réplication" pour mettre à niveau notre base sur notre machine de test (ou préprod sur le serveur windows) avec celle de prod (sur l'iseries)

    Par avance, merci pour votre aide.

  2. #2
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Précision :
    Il s'agit de la version gratuite Personal Developer's Edition et non pas de la Personal Edition.

    Je ne sais pas si ça change grand chose mais je tenais à être précis.

  3. #3
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Citation Envoyé par shamsoudin
    Est ce que la version Personnel Edition ne permet pas un accès à une base distante sur une machine iseries ?
    Je pense en effet que le problème est là. Je ne pense pas que la version Express C puisse faire mieux.

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Légère évolution dans mon problème :

    Après plusieurs recherches sur le net, j'ai vu qu'un autre outil devait être installé pour pouvoir se connecter à une machine distante (en l'occurence ici, un iseries) : DB2 Connect.

    J'ai donc récupéré la version DB2 Connect Personal Edition et l'ai installé sur ma machine.

    Avec l'assistant de configuration, j'ai donc ajouté ma base de données distante.
    A la fin de la procédure, on peut tester la connexion, c'est ce que j'ai fait.
    6 modes de connexion peuvent être testés :
    1- Standard
    2- CLI
    3- ODBC
    4- OLE DB
    5- JDBC
    6- ADO

    Les 6 tests se sont bien déroulés.

    Sur l'interface "Centre de Contrôle", sous l'intituté "All Systems" je trouve bien mon hote distant et sous "Databases", j'arrive même à avoir la liste de mes tables...mais pas plus que cela.

    Je n'ai que la liste des tables et rien d'autre.
    Et même sur le volet de droite (où se trouve la liste des tables), quand je sélectionne une table, pas moyen d'avoir un menu contextuel.
    Rien.

    Autre point, lorsque je veux ajouter cette même base via la commande "Add..." depuis le menu contextuel sur le noeud "All Databases", j'ai une fenêtre de dialogue qui s'ouvre et qui permet d'explorer et de chercher les bases sur un host.
    Pour cela, je saisis mon hostname (en fait, l'adresse IP de la machine distante), et je clique sur le bouton "search".

    Ca mouline...et au bout d'un certain temps, j'obtiens le message d'erreur suivant :
    SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "80.118.182.252". Communication function detecting the error: "connect". Protocol specific error code(s): "10060", "*", "*". SQLSTATE=08001

    Une erreur lié au protocole de communication !

    Je ne comprends donc pas ce qui me semble une incohérence.

    1- Après avoir utilisé l'assistant de configuration, je retrouve bien mes tables sous le noeud "All systems"...mais sans rien pouvoir faire (je ne peux visualiser que la liste des tables).

    2- Mais lorsque je veux ajouter ma base et la voir apparaitre sous le noeud "All databases"...là j'obtiens un message d'erreur.

    A noter, qu'en faisant un netstat pendant que le système tentait de faire des recherches sur l'hôte distant, j'ai vu qu'il tentait d'accéder au port 523 sur l'iseries...et que visiblement aucune réponse n'arrivait depuis ce port depuis l'hôte distant.

    Vous avez une idée de ce que pourrait être le problème ?

    Si j'ai d'autres infos d'ici là ou si je réussis à résoudre ce problème, je n'hésiterais à vous les communiquer.

  5. #5
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 56
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    En fait DB2/400 (iSeries) n'utilise pas le même protocole de communication que DB2 UDB (LUW). Il utilise DRDA (comme DB2 for zSeries). C'est pour cela que tu as du installer DB2 connect qui permet de faire passerelle dans le sens DB2 UDB=Client vers DB2/400=Serveur DRDA (dans l'autre sens ca marche sans avoir besoin de rien installer de plus).

    Ensuite pour "découvrir" une base de données avec le Centre de Contrôle, tu contactes le DAS d'un serveur (DB2 Administration Server, port 523) mais il n'y en a pas sur iSeries, c'est une spécificité de l'architecture DB2 UDB : c'est pour cela que tu dois passer par l'assistant de configuration pour la déclaration (ou via les commandes DB2...).

    Et pour finir, pour gérer une base de données DB2/400, il faut utiliser les outils AS/400 : le module Base de Données de iSeries Navigator (livré gratuitement avec iSeries Access for Windows).
    Le centre de controle n'offre que très très peu de possibilité pour gérer une base AS400, comme tu l'as constaté (trop de différence d'implémentation).

  6. #6
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Salut a tou(te)s
    je m'imisce rapidement dans votre discussion, car ce que tu dis m'intéresse beaucoup clalevee:
    En fait DB2/400 (iSeries) n'utilise pas le même protocole de communication que DB2 UDB (LUW). Il utilise DRDA (comme DB2 for zSeries).
    De mon côté, j'ai un problème que d'autres semblent se poser sur developpez.com, je dois me connecter à une base db2 sur un iseries distant avec PHP. Le problème c'est que l'extension à ajouter pour php est une dll du nom de php_ibm_db2.dll; pourrait-il y avoir plusieurs dll selon le protocole?
    Je suis pas connaisseur DB2, et j'ai deja poste un message sur ce problème dans la partie "php & sgbd". Alors si vous voyez pourquoi ?merci
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

  7. #7
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 56
    Points : 65
    Points
    65
    Par défaut
    Je ne suis pas développeur (et encore moins développeur PHP), mais je crois savoir qu'il existe deux manières d'attaquer DB2/400 en PHP :
    • soit en faisant du PHP sur ODBC et dans ce cas on peut utiliser un driver ODBC AS400,comme celui livré avec IBM iSeries Access

    • soit en faisant du PHP vers un DB2 UDB (LUW) qui à l'aide d'un DB2 Connect fait passerelle vers DB2/400. Dans ce cas, on doit déclarer ("cataloguer") la base de données AS400 sur le serveur DB2 UDB


    Je n'en sais pas plus.
    Par contre je peux te donner deux références IBM :
    - PHP sur ODBC sur Linux pour ataquer DB2/400 : http://publib.boulder.ibm.com/infoce...zatvexodbc.htm
    - Un redbook : Developing PHP Applications for IBM Data Servers (http://www.redbooks.ibm.com/abstract...7218.html?Open)

  8. #8
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Ok, je n'avais pas précisé qu'en fait je ne devrais pas utiliser ODBC ( pour l'instant je m'en sers pour les tests )
    Mais lors de la mise en production le produit doit tourner sur une plateforme Php / Apache et être indépendant de odbc.
    Donc il me semblait obliger de passer par l'extension PHP avec la dll IBM_db2 mais celle-ci ne semble pas bien reconnue (aucun message mais impossible d'utiliser la fonction db2_connect() car inconnue )
    Alors juste une petite dernier question :
    PHP vers un DB2 UDB (LUW) qui à l'aide d'un DB2 Connect fait passerelle vers DB2/400
    qu'est ce que c'est le "DB2 connect", la fonction php ou autre chose?
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

  9. #9
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 56
    Points : 65
    Points
    65
    Par défaut
    DB2 Connect est un module du produit IBM DB2 UDB : il permet d'utiliser un DB2 UDB comme client (DRDA) de serveurs DB2 iSeries ou zSeries (DRDA étant le protocole de communication de ces DB2 "host")
    En standard, un DB2 UDB est serveur DRDA mais pas client, d'où le besoin d'un module supplémentaire pour le rendre client.

    Donc en fait, un (DB2 UDB + DB2 Connect) peut faire passerelle vers un DB2/400 : on se connecte sur un DB2 Linux qui lui se connecte sur le DB2/400.

    On peut donc utiliser toutes les possibilités techniques standards de conenxion à un DB2 UDB.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par shamsoudin Voir le message
    Légère évolution dans mon problème :

    Après plusieurs recherches sur le net, j'ai vu qu'un autre outil devait être installé pour pouvoir se connecter à une machine distante (en l'occurence ici, un iseries) : DB2 Connect.

    J'ai donc récupéré la version DB2 Connect Personal Edition et l'ai installé sur ma machine.

    Avec l'assistant de configuration, j'ai donc ajouté ma base de données distante.
    A la fin de la procédure, on peut tester la connexion, c'est ce que j'ai fait.
    6 modes de connexion peuvent être testés :
    1- Standard
    2- CLI
    3- ODBC
    4- OLE DB
    5- JDBC
    6- ADO

    Les 6 tests se sont bien déroulés.

    Sur l'interface "Centre de Contrôle", sous l'intituté "All Systems" je trouve bien mon hote distant et sous "Databases", j'arrive même à avoir la liste de mes tables...mais pas plus que cela.

    Je n'ai que la liste des tables et rien d'autre.
    Et même sur le volet de droite (où se trouve la liste des tables), quand je sélectionne une table, pas moyen d'avoir un menu contextuel.
    Rien.

    Autre point, lorsque je veux ajouter cette même base via la commande "Add..." depuis le menu contextuel sur le noeud "All Databases", j'ai une fenêtre de dialogue qui s'ouvre et qui permet d'explorer et de chercher les bases sur un host.
    Pour cela, je saisis mon hostname (en fait, l'adresse IP de la machine distante), et je clique sur le bouton "search".

    Ca mouline...et au bout d'un certain temps, j'obtiens le message d'erreur suivant :
    SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "80.118.182.252". Communication function detecting the error: "connect". Protocol specific error code(s): "10060", "*", "*". SQLSTATE=08001

    Une erreur lié au protocole de communication !

    Je ne comprends donc pas ce qui me semble une incohérence.

    1- Après avoir utilisé l'assistant de configuration, je retrouve bien mes tables sous le noeud "All systems"...mais sans rien pouvoir faire (je ne peux visualiser que la liste des tables).

    2- Mais lorsque je veux ajouter ma base et la voir apparaitre sous le noeud "All databases"...là j'obtiens un message d'erreur.

    A noter, qu'en faisant un netstat pendant que le système tentait de faire des recherches sur l'hôte distant, j'ai vu qu'il tentait d'accéder au port 523 sur l'iseries...et que visiblement aucune réponse n'arrivait depuis ce port depuis l'hôte distant.

    Vous avez une idée de ce que pourrait être le problème ?

    Si j'ai d'autres infos d'ici là ou si je réussis à résoudre ce problème, je n'hésiterais à vous les communiquer.
    shamsoudin

    J'ai fait exactement la même démarche que toi et nous avons des correspondances dans nos environnements apparement.

    Un call chez Ibm ma permis de validé le fait que Db2 connect ne te permet via le centre de controle que de visualiser les tables.

    Par contre via une fenêtre d'execution de script, le fait d'avoir cataloguer la base Iseries de permet d'éxécuté pas mal d'ordre SQL sur ta database sur Iseries.

    Et Notamement ce qui est trés pratique les ordres d'import/export de Db2 Micro au format IXF.
    Ce qui est trés pratique pour maintenir tes deux bases a jour.

    De plus ceci peut etre lancé via le planificateur de tache de Db2 (Base TOOLSDB) activé.

    Je te renvoi vers un autres sujets tenu avec Alher

    http://www.developpez.net/forums/sho...mport%2Fexport

    A plus

Discussions similaires

  1. Connecter une base sur un lecteur UNC
    Par anthride dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/01/2012, 16h34
  2. connecter une base de données depuis fichier txt
    Par phoenix345 dans le forum Windows Forms
    Réponses: 29
    Dernier message: 20/05/2010, 12h12
  3. [client/serveur]Connection à une base oracle 11g depuis client 11g
    Par Bourak dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 05/01/2010, 16h50
  4. Réponses: 2
    Dernier message: 15/07/2006, 13h19
  5. Connection à une base de données depuis excell
    Par snooopy007 dans le forum Access
    Réponses: 1
    Dernier message: 14/07/2006, 21h30

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