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

Oracle Discussion :

Debutant, creation fichier txt a partir d'une bdd (intégré FAQ)


Sujet :

Oracle

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut Debutant, creation fichier txt a partir d'une bdd (intégré FAQ)
    bonjour,

    voila je suis novice de chez novice en pl/sql, oracle 9i, et mon problème est le suivant,

    je récupère des données d'un bdd (ligne par ligne ) et je les formate, sur 320 caractères, et pour chaque ligne dans la bdd, je doit avoir une seule ligne dans mon fichier txt (ou peut importe son extancion), or moi j'en trouve une ligne et un ligne vide a chaque fois.
    vue que je ne maitrise pas du tout la mèthde d'affichage tout en utilisant (spool et tous les paramètres a mettre en point) je me demandait si qlq sait d'ou peut venir et a defaut si'il y a un tutorial ou un petit cours qui parle des differentes variables (comment les initialise, à quoi elle sert ....)
    ca serai un sacre coup de main.

    merci d'avance

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    ?

    Sinon une petite recherche sur le forum te donnera plein d'astuces.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    le

    SET PAGESIZE 0

    est bien positione, mais je ne voit pas a quoitout cela sert en fait c'est bien cela qui me pose le plus grand problème alors si quelqu'un sait ou je peux trouve un descriptif de tous les élements ca serai super merci

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Voici les principales :
    define : caractère utilisé pour la substitution des variables (par défaut &)
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    -- gère les caractères de substitution
    set define on
    -- les caractères de substitutions ne sont pas gérés
    set define off
    -- le caractère de substition est @
    set define @
    linesize : nombre de caractères par lignes
    NB : la ligne est complétée par des espaces pour atteindre ce nombre de caractères
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -- mets le nom de caractère par ligne à 130
    set linesize 130
    numformat : format par défaut des numériques à l'affichage
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set numformat 999G999D99
    numwidth : largeur par défaut des numériques
    syntaxe :
    pagesize : nombre de lignes de détail (entête nom compris)
    syntaxe :
    scan : contrôle la présence de variables de substitution
    syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -- contrôle la présence de variables de substitions
    set san on
    -- ne contrôle pas la présence de variables de substitions
    set san off
    tab : utilisation des tabulations
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -- utilisation des tabulations
    set tab on
    -- non utilisation des tabulations
    set tab off
    trimspool : suppression des espaces en fin de lignes
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -- supprime les espaces en fin de lignes
    set trimspool on
    -- laisse les espaces en fin de lignes
    set trimspool off
    verify : liste la commande avant son exécution
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -- liste la commande avant son exécution
    set verify on
    -- la commande n'est pas affichee avant son exécution
    set verify off
    feed : affiche le nombre de lignes affectées par l'ordre SQL
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -- affichage du nombre de lignes affectées
    set feed on
    -- le nombre de lignes affectées n'est pas affiché
    set verify off
    term : affiche le résultat des commandes d'un script
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    --  affichage du résultat
    set term on 
    --  non affichage du résultat
    set term off
    heading : affichage de l'entête du résultat
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    --  affichage de l'entete
    set heading on 
    --  non affichage de l'entete
    set head off
    space : nombre d'espaces entre deux colonnes
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    --  2 espaces entre 2 colonnes 
    set space 2
    echo : affichade des commandes d'un script à l'exécution
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    --  affichage de la commande
    set echo on 
    --  non affichage de la commande
    set echo off
    NB : Ce sont les principales, il en existe d'autres (SQL*Plus : Menu Option-> Environment) dont tu trouveras l'explication dans la doc oracle
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  5. #5
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    Merci pour ces precieuses infos, mais en fait se que ej remarque c'est que j'ai un ligne en plus, sachant que je n'ai pas de boucle dans mon programme, je ne sait pas d'ou cette ligne en plus peut venir, ( sinon pour les information sur oracle je n'ai pas acces a l adoc de sql plus)

    je vous remerci pour tout en tout cas......
    :o

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par jejam
    sinon pour les information sur oracle je n'ai pas acces a l adoc de sql plus
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a90842/toc.htm

    l'inscription est gratuite

  7. #7
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Si tu nous donnais ton script, il nous serait plus facile de t'aider
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  8. #8
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    le code en se qui concerne le spool est celui la

    SET ECHO OFF
    SET TERM OFF
    SET VER OFF
    SET FEEDBACK OFF
    SET PAUSE OFF
    SET PAGESIZE 0
    SET RECSEP OFF
    SET COLSEP ""
    SET ARRAYSIZE 320
    SET HEADSEP OFF
    SET AUTO OFF
    SET LINESIZE 320
    SET LINES 320
    SET TRIMSPOOL OFF

    BTITLE OFF
    TTITLE OFF

    SPOOL &6

    SELECT lib_enr
    FROM ma_table1
    ORDER BY num_enreg, lib_enr;

    SPOOL OFF

    la table est crée et tout.....

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    essaye plutot avec ca

    peut être que ...

  10. #10
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    non, il ne fait que supprime les espaces apres, meme ma ligne de 320 devient 302, c'est pas le but et le retour a la ligne est toujours la


  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut


    Sinon, tu fais copier/coller ou tu lances le script ?

  12. #12
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    je lance le script dans un environement unix, et la table elle a bien "3 lignes" par exemple, mais le fichier lui contient 6

  13. #13
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il affiche 2 fois les 3 lignes ou affiche les 3 lignes sur 6 lignes ?

  14. #14
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    j'ai "la 1er bonne ligne" apres j'ai une ligne vide, et ainsi de suite

  15. #15
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    essaye avec un linsize de 1000

  16. #16
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    quand je met "linesize" a 1000 il y a rien qui change,,,
    mais j'ai mis "lines" a 1000, ca marche sauf ma ligne cette fois ci va sur 1000 caractère or moi, je veux qu'elle ne fasse que 320, un nouveau problème quoi

  17. #17
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    LINES est le raccourci de LINESIZE... évidemment si LINES reste à 350 ça peut pas fonctionner

    Essaye avec SET HEAD OFF

  18. #18
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    j'ai Essaye avec SET HEAD OFF , mais il y a rien qui change, ca peut peut etre venir des procedure stockées, vue que c'est eux qui gére le flux de sortie enfin je crois que je vais laisse tombe, je verrai ca plutart sinon bonjour le chomage vue que je ne suis qu'on periode d'essaye ("qu j'ignore se qu'il y a dans") ,

    désolé je vous demande de m'aide or moi j ene ous aide pas trop.

  19. #19
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Points : 126
    Points
    126
    Par défaut
    c'est fait
    :o
    mon problème c'etait lors de la creation de ma table, je donnais un nombre important pour le champ qui doit comporte que 320. je ne suis pas si je suis tres claire...

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

Discussions similaires

  1. [Debutant] generer les classes a partir d'une bdd
    Par Lafab dans le forum Persistance des données
    Réponses: 8
    Dernier message: 05/03/2008, 17h52
  2. génération d'un fichier texte a partir d'une BDD
    Par devoracle dans le forum Forms
    Réponses: 7
    Dernier message: 02/11/2006, 11h11
  3. [PDE] Creation de vues a partir d'une autre vue
    Par indoloic dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/03/2006, 14h34
  4. generer un fichier txt a partir d'un formulaire php
    Par ouabi dans le forum Langage
    Réponses: 2
    Dernier message: 13/02/2006, 19h15
  5. Réponses: 2
    Dernier message: 04/06/2004, 10h36

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