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 :

passage de paramètre d'un fichier Batch à un SQL


Sujet :

DB2

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut passage de paramètre d'un fichier Batch à un SQL
    Bonjour

    Je recherche la sythaxe pour passer des paramètres à un fichier SQL
    Voici un
    exemple:
    Fichier==>Exe_Fichier.bat
    Son contenu
    call ..\ConnectionDB2_1.bat
    DB2 -tvf ..\..\..\Script\AGBN\Automobile\Lst_cotation.sql 'auto', 'A'

    Fichier==> Lst_cotation.sql
    Ce fichier reçoie 2 paramètre comment définir la réception des paramètre
    Contenu du fichier:
    INSERT INTO TA2550 (no_ctra_assn_in, cd_utlr_cre)
    SELECT no_ctra_assn_in, ' '
    FROM T61011
    WHERE dhdrn_maj_str_pol >= (SELECT dt_hr_deb_sel
    FROM TA1521
    WHERE nm_un_pgmn = %paramètre_1%)
    AND cd_lgn_aff_prd = parametre_2;

    Merci

  2. #2
    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
    C'est plutôt une question système mais pour autant que je me rappelle, tu doit utilise %1 pour le premier paramètre %2 pour le second.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    call ..\ConnectionDB2_1.bat auto, A
    DB2 -tvf ..\..\..\Script\AGBN\Automobile\Lst_cotation.sql %1, %2

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Mais dans le fichier Lst_cotation.sql quel est la manière de passer les paramètre dans le SQL.

    Le fichier "Lst_cotation.sql " doit recevoir les 2 paramètres 'auto', 'A'

    Autrement dit

    INSERT INTO TA2550 (no_ctra_assn_in, cd_utlr_cre)
    SELECT no_ctra_assn_in, ' '
    FROM T61011
    WHERE dhdrn_maj_str_pol >= (SELECT dt_hr_deb_sel
    FROM TA1521
    WHERE nm_un_pgmn = 'auto'
    AND cd_lgn_aff_prd = 'A';

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut Substitution de paramètres
    J'essaierais ceci :

    Exe_Fichier.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    call ..\ConnectionDB2_1.bat 'auto', 'A'
    DB2 -tvf ..\..\..\Script\AGBN\Automobile\Lst_cotation.sql %1, %2

    Lst_cotation.sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO TA2550 (no_ctra_assn_in, cd_utlr_cre)
    SELECT no_ctra_assn_in, ' '
    FROM T61011
    WHERE dhdrn_maj_str_pol >= (SELECT dt_hr_deb_sel
    FROM TA1521
    WHERE nm_un_pgmn = %1
    AND cd_lgn_aff_prd = %2);
    Qu'est-ce que ça donne ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut Passage de paramètre
    J'ai modifié le script Lst_cotation.sql : en ajoutant %1 et sa ne fonctionne pas. Le fichier Lst_cotation.sql est un script SQL de DB2. Tandis que %1 est une commande DOS.

    Merci

  6. #6
    Membre régulier Avatar de delas
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 100
    Points : 95
    Points
    95
    Par défaut
    j'ai le meme probleme et je n'ai pas de solution...

    je relance le sujet au cas ou quelqu'un ai une idée?

  7. #7
    Nouveau membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    Il me semble que les paramètres en batch sont %1%, %2%, etc. et non %1 (essaye au cas où).

    De même pour les variables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SET VARBLAHBLAH=du texte
    echo %VARBLAHBLAH%
    Ensuite, j'ai déjà eu des soucis avec les passages de paramètres, et il est préférable de faire comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SET PARAM1=%1%
    SET PARAM2=%2%
    echo %PARAM1% %PARAM2%
    Aussi bizarre que ca puisse paraître, le fait de tapper "echo %1% %2%" directement ne produit pas le même affichage (du moins dans certain de mes scripts).

    L'autre question, c'est est-ce que la commande DB2 -tvf accepte des paramètres effectivement ou non, et a première vue j'en doute.

    Dans ton cas, je te conseillerai de directement mettre la requête SQL à l'intérieur de ton .bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SET P1=%1%
    SET P2=%2%
    SET REQUETE=INSERT INTO TA2550 (no_ctra_assn_in, cd_utlr_cre)
    SELECT no_ctra_assn_in, ' '
    FROM T61011
    WHERE dhdrn_maj_str_pol >= (SELECT dt_hr_deb_sel
    FROM TA1521
    WHERE nm_un_pgmn = %P1%)
    AND cd_lgn_aff_prd = %P2%;
     
    DB2 -tv %REQUETE%
    Note: tu auras à écrire la totalité de la requête sur une seule et unique ligne du fichier .bat, car de mémoire il n'y a pas de gestion de texte multiligne.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    En produisant une variable qui contient la commande SQL. Cette variable est passé à l'exécution de DB2.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/05/2014, 14h49
  2. [XL-2010] Passage de paramètre dans un fichier DQY
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/07/2012, 17h30
  3. passage de paramètres entre 2 fichiers PHP
    Par jerem_orga dans le forum jQuery
    Réponses: 12
    Dernier message: 03/02/2012, 14h08
  4. Passage de paramètre dans un fichier distant en javascript/ajax
    Par moook dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/06/2008, 13h51
  5. passage de paramètres à un fichier SQL
    Par philfont dans le forum Administration
    Réponses: 5
    Dernier message: 30/08/2004, 15h01

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