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

Bases de données Delphi Discussion :

[Oracle] Probleme dans l'exécution de requetes


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut [Oracle] Probleme dans l'exécution de requetes
    Bonjour,

    Je crée des requetes a partir de données stockées dans des objets, une requete de création de table puis des requetes d'insertion, et cela pour mysql, sqlserver et oracle.
    Mon probleme est avec oracle. la requete générée a la forme :

    CREATE TABLE dbtest ( FullName VARCHAR2(1024),
    Vous_habitez VARCHAR2(1024),
    Marseille VARCHAR2(1024) );

    Lorque je l'exécute par sql plus pas de probleme la table est créée mais lorsque j'essaye de le faire par mon application (avec un dbexpressmanager remanié qui fonctionne au poil et des drivers oracle achetés chez corelab)il me sort une erreur du type : 'ORA-00911: invalid character'
    Si quelqu'un a déja rencontré ce probleme , d'avance merci.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    As-tu essayé sans le point-virgule final ?

    Car j'ai eu le même pb sous Toad...

    Si c'est ça, j'espère que la requète sans le ";" passe aussi sous les autres SGBD
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Argh !!
    oui c'était ca !!
    comment se faisse ?

    Enfin bon ...

    Merci beaucoup beaucoup !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Je reviens a la charge, toujours avec un probleme sous Oracle avec une requete du type :
    INSERT INTO db4 VALUES ( 'every body',
    'Campagne 1',
    'Yes',
    'Yes',
    '2/05/2005',
    'La bas',
    'Peut etre' )
    Cette requete effectué sous sql plus ne pose aucun probleme mais par le code delphi j'ai retour de type 'ORA-01843: not a valid month'
    QUe faire ? j'ai essayé de changer les / par des - de tester avec une date de type 05/05/05 (au cas ou le mois aurait changé de place) et rien ...
    Si vous avez une idée , d'avance merci !!

  5. #5
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    Points : 641
    Points
    641
    Par défaut
    Bonjour,
    es tu sûr de l'ordre de tes colonnes, sinon précises les :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    INSERT INTO db4 
    (co1, col2, col3, col4, co5, col6, col7)
    VALUES ( 'every body', 
    'Campagne 1', 
    'Yes', 
    'Yes', 
    '2/05/2005', 
    'La bas', 
    'Peut etre' )
    Sinon, as tu essayé avec l '.' comme séparateur.
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Non pas de souci avec l'ordre des colonnes,
    et le '.' ne veut pas mieux fonctionner avec la date ...
    Merci d'avoir essayé .

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    vu que tu es sous ORACLE tu peux utiliser TO_CHAR pour préciser le format de ta date.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    TO_CHAR ?
    et je le met ou ? c'est une fonction delphi ? oracle ?
    comment ca marche ? merci

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    Pour test, est ce que tu peux mettre sysdate (date système) à la place de ta date et nous dire ce que ca donne.

    Sinon TO_CHAR permet de convertir une date au format texte (fonction SQL)
    Exemple :

    To_Char (sysdate, 'dd/mm/yyyy') renvoie '14/05/2005'

    La fonction inverse étant To_Date qui elle prend en paramètre une chaine de caractère et renvoie un champs au format date.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Bon alors j'ai tenté avec sysdate a la place de ma date et la, au joie ca marche !
    Et pourquoi donc ? c'est a en devenir chevre ...

    avec to_date je pourrais donc faire un truc du genre :

    To_Date('14/05/2005', 'dd/mm/yyyy)
    ?

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Bon ben vous cassez plus la tête meme si c lourd j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    To_Date('2/05/2005', 'dd/mm/yyyy')
    a chaque fois que j'avais un date et du coup ca marche ...
    Bizarre qd meme ...

    Merci a tous ceux qui m'ont aidé !

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

Discussions similaires

  1. [Oracle] Exécution de requetes préparées dans une base Oracle
    Par gamuchi dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 01/05/2014, 11h41
  2. probleme de d'excution de requete sql
    Par timsah dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/09/2005, 19h06
  3. Exécuter une requete enregistrée dans un champ
    Par pascalT dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 10h46
  4. Réponses: 3
    Dernier message: 17/05/2004, 17h28
  5. Probleme dans ma requete
    Par Kuroro dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2003, 11h14

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