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 :

ORA-01003: aucune instruction analysée dans un script


Sujet :

SQL Oracle

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut ORA-01003: aucune instruction analysée dans un script
    Je suis sous Oracle 10g Express.

    J'ai la commande ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT SELECT ANY TABLE TO MON_ROLE;
    Que j'essaye d'exécuter dans un script.

    J'ai alors l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ORA-01003: aucune instruction analysée
    Mais quand je l'éxécute via l'interface commandes Sql alors pas de problème.

    Une explication ?

    merci

  2. #2
    Membre habitué Avatar de samaury
    Homme Profil pro
    Chevalier Jedi
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chevalier Jedi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Points : 141
    Points
    141
    Par défaut
    Bonjour
    J'ai le même souci.
    Voici le code de la procédure stockée qui appèle une méthode java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create or replace
    PROCEDURE host_command (p_command  IN  VARCHAR2)
    AS LANGUAGE JAVA
    NAME 'Host.executeCommand (java.lang.String)';
    Quand j'appelle la procédure dans sqlDevelopper, no soucis.
    Mais j'ai une erreur
    ORA-01003: no statement parsed
    quand je l'appelle depuis mon appli delphi.
    Avez-vous trouvé la soluce depuis.
    D'avance merci
    Pensons bien, pensons bio

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Vous avez probablement un souci dans votre code delphi
    ORA-01003 no statement parsed

    Cause: A host language program call referenced a cursor with no associated parsed SQL statement. A SQL call (for example, OSQL3) must be used to pass a SQL statement to Oracle and to associate the statement with an open cursor. A cursor must already have an associated SQL statement if referenced in any of the following calls: DESCRIBE, NAME, DEFINE, BIND, EXECUTE, and FETCH.

    Action: Do the SQL call, for example, OSQL, to pass the required SQL statement before referencing the cursor.


  4. #4
    Membre habitué Avatar de samaury
    Homme Profil pro
    Chevalier Jedi
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chevalier Jedi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Points : 141
    Points
    141
    Par défaut
    ...Vous avez probablement un souci dans votre code delphi...
    Je passe sans doute à côté d'une erreur mais mon code est quasiment identique à ce que je fais dans le reste de mon appli...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        maProcStock.ParamByName('P_COMMAND').AsString := vCommandeLine;//Passage du paramètre
        maProcStock.Prepare();//Préparation de la requête
        maProcStock.ExecProc();//Exécution de la requête
    Pour info j'utilise - encore - le BDE (désolé, c'est une appli vielle de 11 ans dont j'ai hérité)
    Le
    .prepare()
    se fait bien mais c'est dans le que ça pête.
    Si quelqu'un à une idée...je suis preneur
    Pensons bien, pensons bio

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Vous avez du code Delphi qui appelle une procédure externe PL/SQL écrite en Java. Lancez sqlplus et testez votre procédure PL/SQL. Si celle ci marche, oubliez-la et vérifiez votre code Delphi ou la doc du driver de connexion à la base. Sinon oubliez Delphi et concentrez-vous sur la procédure externe.
    Avec les morceaux de code incomplet que vous avez postés comment voulez-vous qu’on vous dise qu’est-ce que ça cloche ?

  6. #6
    Membre habitué Avatar de samaury
    Homme Profil pro
    Chevalier Jedi
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chevalier Jedi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Points : 141
    Points
    141
    Par défaut
    1 -
    Lancez sqlplus et testez votre procédure PL/SQL
    La procedure s'excute correctement dans sqlDevelopper (cf un de mes posts précédent) et dans sql+
    2 -
    votre code Delphi ou la doc du driver de connexion à la base
    Le code delphi est identique à ce que je fais pour l'appel d'autres procédure. La seule différence est que cette procédure appelle du code java.
    3 -
    Avec les morceaux de code incomplet que vous avez postés comment voulez-vous qu’on vous dise qu’est-ce que ça cloche ?
    C'aurait été plus simple de m'indiquer ce qu'il vous faut comme info en plus de celles que j'ai déja fournies. Merci d'avoir pris le temps de répondre.
    Pour ceux que ça intéresse, en attendant de comprende ce qui se passe, j'ai contourné le problème en passant par une (nouvelle) procédure oracle qui appele ma procedure initiale. C'est pas très propre je sais mais ça marche.
    Pensons bien, pensons bio

  7. #7
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Votre connexion à la base via Delphi est faite avec le même utilisateur que dans sqlplus/sqlDevelopper ?

  8. #8
    Membre habitué Avatar de samaury
    Homme Profil pro
    Chevalier Jedi
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chevalier Jedi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Points : 141
    Points
    141
    Par défaut
    Bien vu!
    La procédure n'avait pas le privilège "Execute" pour compte utilisé dans mon appli.
    Une matinée de perdue pour ça....
    Merci, mon après midi est sauvée
    Pensons bien, pensons bio

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/03/2015, 22h35
  2. Execution d'une instruction dans un script
    Par L'aigle de Carthage dans le forum Linux
    Réponses: 19
    Dernier message: 13/05/2011, 13h29
  3. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  4. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07

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