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 Oracle Discussion :

Les quotes dans ma requête "select"


Sujet :

SQL Oracle

  1. #21
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Je pense que le problème n'est pas très clair... En fait, Excel n'intervient pas dans le process.
    Voici le process :
    Exécution du .BAT
    Exécution d'une requête SQL qui créé un .CSV, et qui le renseigne
    Exécution d'une macro qui supprime la 1ère ligne et la 3ème ligne de mon .CSV
    Fin du .BAT, j'ai un fichier CSV tout neuf et qui contient les données que je veux importer !
    Utilisation de l'assistant d'importation de mon logiciel de CRM (à l'intérieur de ce logiciel). Sélection du .CSV en question, et importation.

    Résultat : des numéro de téléphone sous le mauvais format et aucun 0 initiaux...

    Le problème vient donc peut-être du format CSV, et donc pas d'Excel, je suis désolé de ne pas m'être exprimé correctement.

  2. #22
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Mais quand vous ouvrez votre .csv avec notepad est-il correct ?

  3. #23
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Non, les données sont incorrectes quand je l'ouvre avec NotePad.
    Par contre si dans mon .SQL je décide de spool dans un .txt, les données sont bonnes. Mais mon assistant d'importation de ne veut pas de .txt

  4. #24
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Est-il possible de voir votre SQL alors et la commande qui le spool dans le CSV ?

  5. #25
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Citation Envoyé par Jonathan_pingu Voir le message
    Exécution d'une macro qui supprime la 1ère ligne et la 3ème ligne de mon .CSV
    Est-ce une macro Excel? Si oui, le problème peut venir de là.

  6. #26
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par GoLDoZ Voir le message
    Est-ce une macro Excel? Si oui, le problème peut venir de là.
    Effectivement, sans passer par la macro, les valeurs sont correctes... Y a-t-il possibilité de spécifier dans la macro que je ne veux pas que les nombres soient considérés comme tels?
    J'ai besoin de supprimer la 1ère et la 3ème lignes qui restent blanches... Et qui rendent mon csv illisible pour mon application finale.

  7. #27
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Citation Envoyé par Jonathan_pingu Voir le message
    Effectivement, sans passer par la macro, les valeurs sont correctes... Y a-t-il possibilité de spécifier dans la macro que je ne veux pas que les nombres soient considérés comme tels?
    J'ai besoin de supprimer la 1ère et la 3ème lignes qui restent blanches... Et qui rendent mon csv illisible pour mon application finale.
    La macro ouvre le fichier sous Excel et donc formate les chaînes en nombres.
    Pourquoi ne pas supprimer ces deux lignes blanches directement dans la requête sql?

  8. #28
    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
    Hu hu c'est rigolo j'ai le même souci...

    Un fichier CSV doit alimenter une table externe Oracle. Les utilisateurs peuvent rajouter des lignes dans ce fichier (qui est hébergé sur un portail gérant le versionning, sharepoint). Pour un certain "confort" certains souhaitent pouvoir éditer ce CSV sous Excel et PAF les "0" en début de nombre disparaissent.

    Donc j'ouvre mon CSV avec Excel, je le ré-enregistre en CSV sans avoir touché à rien, et j'ai quand même bousillé mon contenu.

    C'est un comportement "normal" d'Excel, je cherche encore le bon process pour gérer ce cas. Je te ferais un retour si je trouve.

  9. #29
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Dans ton cas, c'est un passage obligé. Une macro ferait l'affaire.
    Par contre, utiliser Excel pour supprimer deux lignes d'un fichier texte me paraît fastidieux.

  10. #30
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Supprimer ces lignes directement dans le SQL serait une solution. Malheuresement, je sais pas ce qui génère ces deux lignes... La macro était bien commode pour faire ce boulot. On peut toujours ouvrir le csv et supprimer les deux lignes à la main, mais bon
    Dans tous les cas, je crois que c'est ce que je vais me résoudre à faire... J'ai déjà perdu assez de temps avec ce petit problème, et il y en a d'autres qui méritent plus d'attention de ma part !
    Je vous remercie pour toutes vos réponses

  11. #31
    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
    Soit les lignes vides viennent de la génération du CSV :si c'est SQL*Plus, ça serait pas parce que tu as fais un SET HEAD OFF qui supprime les noms de colonnes mais pas l'espacement ?

    Si ça vient des données (donc de la requête) tu n'as qu'à faire une sur-requête qui filtre les données vides.

  12. #32
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    Soit les lignes vides viennent de la génération du CSV :si c'est SQL*Plus, ça serait pas parce que tu as fais un SET HEAD OFF qui supprime les noms de colonnes mais pas l'espacement ?

    Si ça vient des données (donc de la requête) tu n'as qu'à faire une sur-requête qui filtre les données vides.
    Ca ne vient pas des données. Mon fichier csv est de la forme :
    Ligne vide
    Noms des colonnes
    Ligne vide
    Données 1
    Données 2
    ...

    Dans mon .sql, j'ai un SET heading off.

  13. #33
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    Si ça vient des données (donc de la requête) tu n'as qu'à faire une sur-requête qui filtre les données vides.
    C'était ça l'idée.

    Quelles autres paramètres as-tu dans ton sql?

    Edit: ajoute 'SET PAGESIZE 0'.

  14. #34
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par GoLDoZ Voir le message
    C'était ça l'idée.

    Quelles autres paramètres as-tu dans ton sql?

    Edit: ajoute 'SET PAGESIZE 0'.
    Cette ligne est déjà présente

    Voici la lsite de mes options :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SET echo off
    SET heading off
    SET pagesize 0
    SET termout on
    SET feedback off
    SET define on
    SET lines 6000
    SET pages 2000
    SET AUTOTRACE OFF
    SET VERIFY OFF
    SET EMBEDDED OFF

  15. #35
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Le "SET pages 2000" vous ajoute une ligne (au moins) au début.

  16. #36
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Bonjour à tous !

    A sonné le glas de mon problème, du moins pour les lignes en trop. Merci GoLDoZ !
    Ensuite, les numéro sont au bon format, ça me semble tout bon !
    L'importation fonctionne !

    Merci à tous !

  17. #37
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Ce fût long mais vous avez bien fait de vous accrocher !

  18. #38
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Content que ce soit résolu.

    Les paramètres de formatage Sqlplus m'ont souvent pris la tête, je garde la liste sous le coude pour les tester dans tous les sens.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/02/2015, 10h20
  2. Réponses: 3
    Dernier message: 20/10/2010, 13h27
  3. [MySQL] Insérer des simples quotes dans ma requête
    Par Rick62 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/06/2009, 16h32
  4. Comment eviter les doubons dans une requête?
    Par jyms2006 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/03/2006, 15h08
  5. Optimiser les jointures dans des requêtes
    Par klereth dans le forum PostgreSQL
    Réponses: 12
    Dernier message: 23/04/2005, 18h29

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