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

Administration Oracle Discussion :

ORA-01001: invalid cursor


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut ORA-01001: invalid cursor
    Bonjour a tous,

    Est ce que qq'un saurait me dire d'ou peut provenir cette erreur ?

    ORA-01001: invalid cursor
    Je suis en train de creer un universe BO base sur une base Oracle. Ma connection fonctione parfaitement mais je ne peux ajouter de table a mon univers a cause de cette erreur...

    Merci d avance...

    Mario
    Pensez au tag !!!

  2. #2
    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
    http://ora-01001.ora-code.com/?txt_erreur=01001
    ORA-01001: invalid cursor
    Cause: Either a host language program call specified an invalid cursor or the value of the MAXOPENCURSORS option in the precompiler command were too small. All cursors must be opened using the OOPEN call before being referenced in any of the following calls: SQL, DESCRIBE, NAME, DEFINE, BIND, EXEC, FETCH, and CLOSE. The Logon Data Area (LDA) must be defined by using OLON or OLOGON. If the LDA is not defined, this message is issued for the following calls: OPEN, COM, CON, ROL, and LOGOFF.
    Action: Check the erroneous call statement. Specify a correct LDA area or open the cursor as required. If there is no problem with the cursor, it may be necessary to increase the MAXOPENCURSORS option value before precompiling
    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.

  3. #3
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut
    Oui... lol.

    J'ai deja lu ca qquepart mais je ne comprends rien de rien a tout ca...

    Ou trouves ton la valeur de MAXOPENCURSORS (jai lu dans init.ora) mais je ne trouve pas cette valeur...
    Pensez au tag !!!

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Il suffit de demander à Business Objects de recompiler leur code avec la bonne valeur et le problème sera corrigé

    Plus sérieusement, donnez nous les versions exactes d'Oracle Client et de Oracle Server (avec 4 chiffres). Cela peut aussi être un bug Oracle.

  5. #5
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut
    Je travaille en local avec Oracle XE Database Express Edition 2.1.0.00.39.

    L-univers a ete cree il y a qques temps et ma base de donnees est vide mais les tables sont bels et bien crees.
    Est ce que cela peut etre la raison de cette erreur ?
    Pensez au tag !!!

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Si vous utilisez Oracle XE, la version c'est forcément 10.2.0.1.

    Je ne pense pas que cela vient du fait que les tables sont vides. Si l'erreur apparaît à l'utilisation d'un exécutable Business Objects, le problème est soit dans BO soit dans Oracle. Oracle ne supporte pas Oracle XE et on peut se demander si BO supporte Oracle XE

  7. #7
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut
    En effet pour la version...

    Jai essaye avec un "universe" basique de 1 table seulement et cela m'a l'air de fonctionner...
    Les donnes sont bels et bien recuperer...


    Jai donc 2 solutions :
    * soit lerreur est dans mon universe (je ne pense pas vu que plusieurs clients l'utilisent)
    * soit c'est dans ma BDD.
    Dans ce cas, je souhaiterais changer cette valeur MAXOPENCURSORS pour tenter le coup mais je ne vois vraiment pas ou on fait ca...
    Pensez au tag !!!

  8. #8
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut
    Et de plus, je ne suis pas sur que ce parametre est disponible avec XE.
    J'ai trouve ce parametre
    open_cursors
    Valeur : 300
    Is Default : FALSE
    Description : max # cursors per session


    Quel serait donc la table ou je peux verifier et modifier l'ensemble de mes parametres ?

    Et voici une description de mon erreur / Est ce qqun comprend un peu plus que moi ? :

    Oracle/PLSQL: ORA-01001 Error

    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
    Error:
    	ORA-01001: invalid cursor
    
    Cause:
    You tried to reference a cursor that does not yet exist. This may have happened because:
    
    1. You've executed a FETCH cursor before OPENing the cursor.
    2. You've executed a CLOSE cursor before OPENing the cursor.
    3. You've executed a FETCH cursor after CLOSING the cursor.
    
    Action:
    The options to resolve this Oracle error are:
    
    1. Make sure you haven't CLOSEd the cursor and are still referencing it in your code.
    2. Make sure you've OPENed the cursor before calling a FETCH cursor or CLOSE cursor.
    3. If everything else is fine, you may need to increase the AREASIZE and MAXOPENCURSORS options.
    Pensez au tag !!!

  9. #9
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut
    Peut etre que je peux le CHANGER PAR SQL ?
    Pensez au tag !!!

  10. #10
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Vous ne pouvez pas changer MAXOPENCURSORS car il s'agit d'un paramètre de compilation du code client (ici Business Objects).

    Vous pouvez consulter la valeur de OPEN_CURSORS (qui est un paramètre d'initialisation de l'instance) avec la commande SQL*Plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show parameter open_cursors
    Vous pouvez le modifiez pour l'instance démarrée (mais si l'instance est arrêtée l'ancienne valeur du fichier d'initialisation est prise en compte):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter system set open_cursors=<xxxx> scope=memory;
    Pour modifier de façon permanente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter system set open_cursors=<xxxx> scope=both;

  11. #11
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Points : 114
    Points
    114
    Par défaut
    Ca ne change pas grand chose...

    Toujours la meme erreur.
    Jai reussi tout de meme a deceler les tables qui posent ce probleme dans mon universe BO.

    Bien sur, comme vous pouvey l'imaginer, ces tables sont obligatoires dans cet univers...

    Est ce que qq'un verrait autre chose qui pourrait donner ce genre d'erreur ?

    Merci de votre aide en tout cas, en esperant pouvoir trouver une solution...
    Pensez au tag !!!

Discussions similaires

  1. ORA-01001 : invalid cursor avec Iterator
    Par Tora21 dans le forum JDBC
    Réponses: 7
    Dernier message: 29/06/2011, 12h43
  2. [Oracle] ORA-01001: invalid cursor in
    Par aphp1 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/12/2008, 09h25
  3. curseur invalid ora-01001
    Par couse1 dans le forum SQL
    Réponses: 4
    Dernier message: 13/07/2007, 09h37
  4. ora-01001 : invalid cursor
    Par sherdogvdb dans le forum Oracle
    Réponses: 1
    Dernier message: 02/03/2007, 12h36
  5. ORA 01001 invalid cursor
    Par claralavraie dans le forum Oracle
    Réponses: 10
    Dernier message: 28/07/2006, 15h13

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