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

AS/400 Discussion :

pb transformation fichier DDS en Table SQL


Sujet :

AS/400

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut pb transformation fichier DDS en Table SQL
    Bonjour,
    je tente de transformer un certain nombre de fichiers DDS en table SQL..
    Je suis la méthode donnée par VOLUBIS (en résumé)
    1-Conversion des fichiers physiques en tables SQL
    2-Création d'un logique DDS ayant le même format que l'ancien physique
    Cela fonctionne très bien sur certains fichiers le niveau de format du logique DDS étant bien le même que celui de l"'ancien" physique. les programmes fonctionnent toujours.
    Mais je rencontre un problème lors de la transformation de certains fichiers qui ont été modifiés afin d'jouter une colonne de type "Identity" via un alter table.
    Lors de la création du logique pointant sur table SQL via le code suivant (CRTLF)
    A UNIQUE
    A R RFIC PFILE(TABLE_SQL)
    A FORMAT(FICHIER_DDS)
    A K CLE
    Le logique ainsi créé ne conserve pas le même identificateur de niveau de format que le fichier d'origine. Contrairement aux fichiers qui n'ont pas de colonne de type "Identity"
    Le code suivant permet de conserver l'identificateur de niveau de format....
    A UNIQUE
    A R RFIC PFILE(TABLE_SQL)
    A FORMAT(TABLE_SQL)
    A K CLE
    Mais un ajout de colonne sur la table sql sera répercutée sur le logique et viendra modifier l'identificateur de niveau de format.
    Avez vous déjà rencontré ce problème ? Comment le contourner ?
    D'avance merci

  2. #2
    Membre averti
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Points : 355
    Points
    355
    Par défaut
    Bonjour,

    Personnellement, j'ai créer un outil pour gérer ce genre de problème.
    Mon programme génère un script qui va remplacer les tables, les sauvegarder, mettre les logiques et compiler les programmes tout seul.
    Avec ça, pas de soucis.
    Je t'invite à faire de même.

    Stéphane

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par larry57 Voir le message
    Bonjour,

    Personnellement, j'ai créer un outil pour gérer ce genre de problème.
    Mon programme génère un script qui va remplacer les tables, les sauvegarder, mettre les logiques et compiler les programmes tout seul.
    Avec ça, pas de soucis.
    Je t'invite à faire de même.

    Stéphane
    Merci pour votre réponse mais le but était d'éviter de recompiler les programmes existant, ce qui devrait être possible si l'identificateur de niveau de format du fichier logique reste identique à l'ancien fichier physique.
    Le script de transformation est écrit et est fonctionnel sauf pour les tables avec une colonne de type "Identity" ou le logique généré ne garde pas l'identificateur de format de l'ancien fichier.
    Il faudrait alors recompiler tous les programmes utilisant ces fichiers ce que je souhaitais éviter afin de simplifier le plus possible cette migration.
    c'est pourquoi je cherche à créer un logique avec un même identificateur de format que la table SQL qui contient une colonne de type "Identity"

    D'avance merci

    claude

  4. #4
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 689
    Points : 994
    Points
    994
    Par défaut
    Bonjour.
    Ce que tu demandes est impossible.
    Le niveau de format est justement fait pour contrôler si un champ a été modifié dans la structure du fichier.
    Ajouter une colonne donnera forcément un niveau de format différent.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par m4k-Hurrican Voir le message
    Bonjour.
    Ce que tu demandes est impossible.
    Le niveau de format est justement fait pour contrôler si un champ a été modifié dans la structure du fichier.
    Ajouter une colonne donnera forcément un niveau de format différent.
    Bonjour,
    En fait le logique ne pointe que sur les champs d'origine du fichier DDS, Ceci est obtenu en les nommant directement dans le logique.
    Celui ci ne verra donc pas les champs qui pourront être ajouter par la suite dans la table SQL.
    Ceci fonctionne très bien sauf que je n'arrive pas à créer un fichier logique avec le même niveau de format si un champ de type identity est présent dans la table d'origine.
    Pour les autres fichierss cette méthode fonctionne très bien.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 689
    Points : 994
    Points
    994
    Par défaut
    Citation Envoyé par echec71 Voir le message
    Bonjour,
    En fait le logique ne pointe que sur les champs d'origine du fichier DDS, Ceci est obtenu en les nommant directement dans le logique.
    Celui ci ne verra donc pas les champs qui pourront être ajouter par la suite dans la table SQL.
    Ceci fonctionne très bien sauf que je n'arrive pas à créer un fichier logique avec le même niveau de format si un champ de type identity est présent dans la table d'origine.
    Pour les autres fichierss cette méthode fonctionne très bien.
    OK je comprend mieux.
    Mais je pense que le problème est qu'un champ identity ne peut être omis du fichier. C'est l'identifiant de l'enregistrement.
    Même si tu ne le met pas dans ton DDS, il sera probablement inclus de manière "cachée". Surtout, et c'est généralement le cas, si c'est la clé primaire.

    Personnellement, parce que j'en ai la possibilité, je vérifie, modifie, et recompile tout (surtout que nous avons du RPG standard, des programmes en VB.net et d'autres en PHP). Ce qui peut être lourd, mais les gains sont appréciables.

  7. #7
    Membre averti
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Points : 355
    Points
    355
    Par défaut
    bonjour,

    Le mieux, c'est dans ton cas de te faire tes outils.
    Faire un programme qui te génère des scripts de compilations à partir d'une table est très simple.
    Créé toi un référentiel que tu vas utilisé par la suite dans tes scripts.
    C'est quelque chose que tu utilises une fois et que tu réutiliseras souvent.

    Stéphane

Discussions similaires

  1. Import de fichiers plats dans table SQL 2008 R2
    Par Nicos42 dans le forum Développement
    Réponses: 11
    Dernier message: 09/12/2014, 08h10
  2. Importation fichier txt dans table SQL server
    Par vito30620 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/09/2013, 07h41
  3. Transformer un fichier .Log en table SQL
    Par Arameya dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/08/2012, 15h16
  4. [Toutes versions] Transformer fichier texte en table(s)
    Par bbolt dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/02/2010, 20h43
  5. transformer un xls en table sql
    Par 0coco0 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/02/2008, 17h58

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