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

SQL Firebird Discussion :

Aide pour script sql pour isql


Sujet :

SQL Firebird

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut Aide pour script sql pour isql
    Bonjour,

    J'ai une petit script que voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    connect pha.gdb user sysdba password masterkey;
    SET HEADING OFF;
    SET WIDTH colonne1 [50];
    SET WIDTH colonne2 [50];
    SET WIDTH colonne2 [50];
    SET WIDTH colonne2 [50];
    select * from ma_table;
    Ce script me sert à exporter le résultat de la requête vers un fichier texte.
    Je voudrais donner une largeur fixe à mes colonnes de 50 par exemple.
    je sais qu'il faut utiliser SET WIDTH pour réaliser mon souhait mais étant donné que je m'y prend mal je solicite votre aide.
    Pourriez-vous m'aider, svp ?

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Bonjour,
    Essayez de qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    connect pha.gdb user sysdba password masterkey;
    SET HEADING OFF;
    SET WIDTH colonne1 50;
    SET WIDTH colonne2 50;
    select Colonne1, colonne2  from ma_table;
    Pour retirer une longueur que vous avez prédéfini :


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Tout d'abord merci pour votre aide.

    J'ai essayé votre conseil mais cela marche uniquement pour la première colonne car les autres gardent la taille par défaut.

    Savez-vous pourquoi ?


    Merci.

  4. #4
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Peut être parceque vous vous trompez dans le nom des colonnes.

    Il n'y a aucune raison que ca soit différents pour les autres colonnes. Chez moi ca fonctionne parfaitement.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Je viens de vérifier mes champs et il sont bien écris. Peut-être que je fais une erreur en tapant ma commande dans la console ?

    isql -q -i fichierduscript.sql -pag 3000 -o fichiersortietexte.txt


    C'est vraiment bizzare.

  6. #6
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Essayez de mettre vos champs entre ".
    Mais respectez bien minuscule/majuscule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET WIDTH "Colonne2" 50;

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Je viens de mettre mes champs entre guillemets "" mais rien ne change.

    Voici le code qui se trouve dans mon fichier sql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    connect db.gdb user sysdba password masterkey;
    SET HEADING OFF;
    SET WIDTH "CHAMP1" 50;
    SET WIDTH "CHAMP2" 50;
    SET WIDTH "CHAMP3" 50;
    SET WIDTH "CHAMP4" 50;
     
    select CHAMP1, CHAMP2, CHAMP3, CHAMP4 from t_matable;
    Comme vous pouvez le voir je pense respecter la syntaxe (a moins que ?).

    En tout je vous remercie beaucoup de vouloir m'aider, c'est sympa.

  8. #8
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Et ceci fonctionne ?
    Citation Envoyé par fabpan Voir le message
    select "CHAMP1", "CHAMP2", "CHAMP3", "CHAMP4" from t_matable;

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Non malheureusement c'est toujours pareil.

    Le première colonne affiche bien la bonne largeur mais pas les autres.

    Franchement je ne vois pas ce qui ne va pas.

  10. #10
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Oui mais la requête elle fonctionne avec les " ? Pas de message d'erreur ?

    Et si vous essayez de saisir ces instructions en mode interactif (sans utiliser le fichier script. Lancez isql en vous identifiant. Connectez vous à votre base. Saisissez ligne a ligne et voyez si celà fonctionne.

    Chez moi ca fonctionne mais je n'ai pas essayé en utilisant un fichier de sortie.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    La requête fonctionne bien avec les guillemets car dans mon fichier de sortie j'obtiens mes données. Maintenant je dois encore tester directement en mode console. Je vous tiens au courant.

    Encore merci.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Voilà je viens de tester mais le résultat est identique. Donc peu importe vers où on dirige les données, c'est toujours pareil.

  13. #13
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    isql localhost:employee -user sysdba -password masterkey
    SQL> SET HEADING OFF;
    SQL> SET WIDTH JOB_COUNTRY 15;
    SQL> SET WIDTH FULL_NAME 37;
    SQL> select JOB_COUNTRY, FULL_NAME FROM EMPLOYEE WHERE JOB_COUNTRY='Switzerland';
     
    Switzerland     Osborne, Pierre                       
     
    SQL> SET WIDTH JOB_COUNTRY 10;
    SQL> select JOB_COUNTRY, FULL_NAME FROM EMPLOYEE WHERE JOB_COUNTRY='Switzerland';
     
    Switzerlan Osborne, Pierre                       
     
    SQL>

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Je viens de tester mais c'est toujours pareil. C'est uniquement la première colonne qui s'ajuste à la bonne largeur. Comment feriez-vous avec un fichier sql qui traite les données vers un fichier de sortie (texte).

    Merci d'avance.

  15. #15
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    ???
    quelle version de Firebird sur quelle plateforme ?

    parce que je veux bien te croire mais ma machine, elle, dit le contraire :
    ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     isql localhost:employee -user sysdba -password masterkey
    Database:  localhost:employee, User: sysdba
    SQL> SET HEADING OFF;
    SQL> SET WIDTH JOB_COUNTRY 15;
    SQL> SET WIDTH FULL_NAME 37;
    SQL>  SELECT JOB_COUNTRY, FULL_NAME FROM EMPLOYEE WHERE JOB_COUNTRY='Switzerland';
     
    Switzerland     Osborne, Pierre                       
     
    SQL> SET WIDTH JOB_COUNTRY 5;
    SQL> SET WIDTH FULL_NAME 10;
    SQL>  SELECT JOB_COUNTRY, FULL_NAME FROM EMPLOYEE WHERE JOB_COUNTRY='Switzerland';
     
    Switz Osborne, P 
     
    SQL>  SELECT FULL_NAME,JOB_COUNTRY FROM EMPLOYEE WHERE JOB_COUNTRY='Switzerland';
     
    Osborne, P Switz 
     
    SQL> SET WIDTH FULL_NAME 5;
    SQL>  SELECT FULL_NAME,JOB_COUNTRY FROM EMPLOYEE WHERE JOB_COUNTRY='Switzerland';
     
    Osbor Switz 
     
    SQL>

  16. #16
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Chez moi aussi ca fonctionne parfaitement.

    Vous avez testé ce que donne Makowski ? avec la base exemple "employee" ?

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    La version de Firebirs c'est 2.1.

    Plateforme Windows xp.

    Je vais réessayer. Peut-être que je m'y prends mal.

    Merci à tous ceux qui veulent m'aider. C'est sympa.

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Ok ca marche.

    Je m'y prenais mal, voila tout.

    Merci à tous pour votre aide.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 69
    Points
    69
    Par défaut
    Dernière petite question, svp.

    Tout fonctionne mais il y a quand même un ennui car cela marche uniquement si les champs de la table sont de type Varchar. Si on a à faire avec un champ numeric ou de type date. Rien ne s'ajuste à la taille voulue. C'est d'ailleurs pour ça que cela ne marchait pas.


    Une idée ?


    Merci.

  20. #20
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    caster les champs en varchar

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. script sql pour recopier une table
    Par sylvain1554 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/05/2007, 12h33
  2. [C] Aide petit script c pour linux
    Par Jopzeut dans le forum Linux
    Réponses: 3
    Dernier message: 04/03/2007, 11h42
  3. obtenir script sql pour le donner à l'hebegeur ( bd mysql)
    Par hafedh1211 dans le forum Installation
    Réponses: 1
    Dernier message: 04/03/2006, 15h36
  4. [VB]executer un script sql pour oracle
    Par akbayli01 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/02/2006, 15h10
  5. Script sql pour exporter BD de sql server vers access
    Par kayser dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/12/2004, 15h48

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