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

Bases de données Delphi Discussion :

Quelle connexion à une base DB2 sur AS400


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut Quelle connexion à une base DB2 sur AS400
    La question ne semble pas avoir été abordée depuis 2005 sur ce forum alors je la dépoussière un peu pour savoir si de nouvelles techniques sont envisageables :

    Avec quels composants et quelle méthode utilisez vous, pour vous connecter à une base DB2 sur un AS400 sous Delphi?

    Merci d'avance de partager votre expérience...
    Michael

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Je n'ai pas fait cela depuis longtemps mais pour le transfert de données rien de tel que FTP !

    A l'époque on trouvait aussi des exemples Delphi sur le site IBM pour utiliser l'API ClientAccess...mais je ne sais pas ce que c'est devenu.

    Si mon souvenir est bon, dans les dernières version il était aussi possible d'accéder à la base en ODBC et ADO.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 550
    Points : 25 120
    Points
    25 120
    Par défaut
    J'ignore si cela fait exactement ce que tu as besoin mais Delphi400 de SystemObjects, normalement, il fournisse un driver DB2 !

    Sinon IBM fourni un Client Access et le driver ODBC qui va avec !
    Tu es libre de l'utiliser en ADO ou OLEDB !

    Perso, j'ai souvent utilisé du FTP+RCMD, des DLL ou protocoles propriétaires fournis par l'éditeur du logiciel AS400 comme MOVEX, IGE, ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Bonjour,
    Tout d'abord merci pour les réponses.


    Citation Envoyé par ShaiLeTroll Voir le message
    J'ignore si cela fait exactement ce que tu as besoin mais Delphi400 de SystemObjects, normalement, il fournisse un driver DB2 !
    En fait on me propose d'utiliser Delphi 400 qui a déjà été utilisé. Je me demandais juste si le fait de passer par le BDE n'était pas une solution un peu vieillotte et lente (j'ai plus ou moins découvert ça pour Firebird et me suis retourné vers les UIBx du coup....)

    Citation Envoyé par ShaiLeTroll Voir le message
    Sinon IBM fourni un Client Access et le driver ODBC qui va avec !
    Tu es libre de l'utiliser en ADO ou OLEDB !
    J'ai donc fouillé un peu dans cette direction. J'ai l'impression que l'intérêt de ADO c'est se connecter à des Bases Microsoft. Me trompé-je?

    Pour ce qui est des composants OLEDB: quelle différence?

    Citation Envoyé par ShaiLeTroll Voir le message
    Perso, j'ai souvent utilisé du FTP+RCMD, des DLL ou protocoles propriétaires fournis par l'éditeur du logiciel AS400 comme MOVEX, IGE, ...
    Alors la c'est du chinois

    J'ai vu qu'on pouvait utiliser les DBExpress mais leur mise en oeuvre semble compliqué du fait de l'accès unidirectionnel aux données? Qu'en pensez-vous?

    J'ai aussi vu qu'on pouvait utiliser les composants Zeos.. Quelqu'un l'a-t-il fait?

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 550
    Points : 25 120
    Points
    25 120
    Par défaut
    Citation Envoyé par MickSou Voir le message
    J'ai donc fouillé un peu dans cette direction. J'ai l'impression que l'intérêt de ADO c'est se connecter à des Bases Microsoft. Me trompé-je?

    Pour ce qui est des composants OLEDB: quelle différence?
    La réponse est dans cet excellent article Comparatif des architectures des API d'accès aux données

    ADO c'est en gros tout driver OLEDB\ODBC, c'est très polyvalent, ce n'est pas limité à ACCESS ou SQL Server, même si c'est un couple classique, tu peux utiliser ORACLE par exemple !

    ADO remplacera le BDE sans trop de soucis si tu connais bien le SQL de DB2
    Oublie le BDE !

    DBExpress, oui c'est un peu pénible, avec 2005, tu n'as pas encore le TSimpleDataSet donc faut jouer avec un TClientDataSet et son TDataSetProvider pour utiliser le TSQLQuery dans une Grille, sinon en pur utilisation pour calcul, ce n'est pas obligatoire, j'utilise DBExpress, la plupart du temps, le mode unidirectionnel ne pose aucun problème.
    Lit ce sujet probleme avec l'enregistrement des donnée
    Je découvre DBExpress et j'ignore si mon actuel employeur l'utilise correctement ! je trouve étrange l'absence d'un équivalent à TIBUpdateSQL en DBExpress !

    Par contre, DBExpress fourni-t-il un driver DB2 sur un server AS400, je vois un driver DB2 dans mon RAD 2007, mais je ne l'ai jamais utilisé !
    A tenter aussi !

    Citation Envoyé par MickSou Voir le message
    J'ai aussi vu qu'on pouvait utiliser les composants Zeos.. Quelqu'un l'a-t-il fait?
    Zeos, c'est très populaire !
    Je ne connais cette API que parce que bcp de monde sur le forum pose des questions dessus (donc on des problèmes avec )
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Au final ADO m'a été déconseillé.

    J'ai par contre réussi la connexion avec DBExpress mais ancienne version (Delphi 7): quelle usine à gaz ces trois composants collés côte à côte pour fonctionner en bidirectionnel! Bien que cette méthode m’ait été conseillée c'est ce qui semble être le plus décrié dans l'article de Franck Soriano!!

    Du coup je vais de ce pas passer à delphi xe pour essayer d'utiliser un TSimpleDataset.

    Dernière question : je configure les DBExpress avec le driver CO400 de Delphi/400 de SystemObject. Y a-t-il possibilité d'utiliser le driver DB2 que mentionne Shai? Quelqu'un l'a-t-il fait? Comment configure-t-on ça? (J'ai déjà ramé pour configurer la ligne de connexion avec Delphi400, savoir où spécifier la bibliothèque et le nom de l'AS4000... Et là cela me semble pire encore!)



    Pour Zeos j'ai cherché un peu mais le projet de connexion AS400 qui devait être développé par un membre de l'équipe n'a pas été finalisé apparemment (c'est du moins ce que je pense avoir lu si mon anglais est bon...)

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    quel est ton besoin ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Développer une application Delphi qui attaquerait une base BD2 sur AS400.

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par MickSou Voir le message
    Développer une application Delphi qui attaquerait une base BD2 sur AS400.
    oui ça je m'en doutais bien ^^ mais est-ce un accès en lecture seule, en mise à jour, sur des données en temps réel ou pas, partagées ou en accès exclusif ?

    je te demande ça parce que l'échange de données en FTP se fait très bien et très rapidement, bien plus que les connexions BDD que j'ai pu tester. Avec un petit bout de code RPG tu peux très bien imaginer uploader un fichier temporaire et lancer un traitement via FTP pour les mises à jours complexes...mais tout dépend de ton besoin au départ.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    oui ça je m'en doutais bien ^^ mais est-ce un accès en lecture seule, en mise à jour, sur des données en temps réel ou pas, partagées ou en accès exclusif ?

    je te demande ça parce que l'échange de données en FTP se fait très bien et très rapidement, bien plus que les connexions BDD que j'ai pu tester. Avec un petit bout de code RPG tu peux très bien imaginer uploader un fichier temporaire et lancer un traitement via FTP pour les mises à jours complexes...mais tout dépend de ton besoin au départ.
    Accès en mise à jour, temps réel et mode déconnecté parfois, partagées.
    Du coup ça me semble pas très très compatible avec connexion FTP + RPG (d'autant plus que cela me fait vachement peur à priori tant je me semble incompétent pour ça... )

    Ma recherche avance cependant.
    Je poste deux ou trois liens pour les personnes susceptible d'être intéressées une autre fois par une connexion AS400 via DBExpress :
    -la solution de System Objects Delphi 400 http://www.systemobjects.com/
    -une autre solution chez Easy Com http://www.easycom-aura.com/fr/
    -des drivers gratuites pour composant DBExpress http://www.sawatzki.de/download.htm

    Reste plus qu'à tester tout ça.. Et croiser les doigts pour arriver à utiliser les TSimpleDataSet

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 550
    Points : 25 120
    Points
    25 120
    Par défaut
    Attention
    TSimpleDataSet, unique si tu souhaites un accès bi-directionnel pour l'utilisation dans une DBGrid ou alors une gestion d'un cache de modification via BeforeUpdateRecord si tu veux utiliser les DBControls

    TSQLQuery est plus performant pour une utilisation interne (boucle type while not eof)

    Avec les nouveaux LiveBindings de XE2, je pense que les DBControls sont obsolètes, cela encourage une gestion explicite de la mise à jour (par une couche comme Bold ou InstantObjects)
    Personnellement, je vais étudier cela de près car j'ai toujours trouvé que les DBControls aggravait l'utilisation de Delphi comme un Clicodrome non architecturé !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Attention
    TSimpleDataSet, unique si tu souhaites un accès bi-directionnel pour l'utilisation dans une DBGrid ou alors une gestion d'un cache de modification via BeforeUpdateRecord si tu veux utiliser les DBControls

    TSQLQuery est plus performant pour une utilisation interne (boucle type while not eof)

    Avec les nouveaux LiveBindings de XE2, je pense que les DBControls sont obsolètes, cela encourage une gestion explicite de la mise à jour (par une couche comme Bold ou InstantObjects)
    Personnellement, je vais étudier cela de près car j'ai toujours trouvé que les DBControls aggravait l'utilisation de Delphi comme un Clicodrome non architecturé !
    Merci pour ces conseils. A ce sujet, ce matin (avais-je les yeux plus ouverts? ) en regardant la palette des composants DBExpress j'ai trouvé en bout de ligne le TSimpleDataSet J'utilise Delphi 7... Je pensais avoir lu qu'il n'était pas disponible avant Delphi 2005!!?? ma foi j'ai donc testé.. cela a l'air de tourner! (avec le driver libre de Peter...)

    Sinon, que sont les LiveBindings?

    merci d'avance Shai

  13. #13
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 550
    Points : 25 120
    Points
    25 120
    Par défaut
    J'ignore l'apparition exacte du TSimpleDataSet, je ne l'ai pas en C++Builder 6 mais bien en TSimpleDataSet
    Comment Delphi est souvent en avance par rapport à C++ pour la VCL ce n'est pas surprenant que la 7 le contient !

    LiveBindings, nouveauté XE2
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Merci pour le lien...
    A bientôt

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

Discussions similaires

  1. [Conception] connection base db2 sur as400 en php
    Par moumout dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/09/2011, 23h03
  2. [MySQL] Connexion à une base MySQL sur un serveur hébergé
    Par mte2005 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2008, 09h18
  3. Connexion à une base DB2 en Perl
    Par Olv_m dans le forum SGBD
    Réponses: 2
    Dernier message: 21/12/2007, 09h01
  4. [ODBC] Utilisation d'une base Access sur AS400 avec php
    Par zoneaide dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/06/2007, 12h08
  5. [Conception] Connexion à une base de données AS400
    Par mirc00 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2006, 22h27

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