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 :

[PL/SQL] ORA-01001: curseur non valide


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [PL/SQL] ORA-01001: curseur non valide
    Bonjour,

    j'ai 2 BD, la premier a une procédure appelé print_UF et une DBLINK qui pointe sur la 2eme BD.

    Procedure pint_uf

    create or replace PROCEDURE print_uf IS
    nouf CHAR(10);
    CODEUF CHAR(4);
    O_RET SYS_REFCURSOR;
    BEGIN
    GET_UF_DISPOLIT@dblink_xxx(O_RET => O_RET);

    LOOP
    FETCH O_RET INTO nouf, CODEUF;
    EXIT WHEN O_RET%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE('-->' || nouf || '--' || CODEUF || '<--' );
    END LOOP;
    END;
    et le dblink suivent :
    CREATE DATABASE LINK "DBLINK_XXX"
    CONNECT TO "user" IDENTIFIED BY "pass"
    USING '(DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = server42)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ServerUS4)
    )
    )';
    Et dans la seconde BD il y a une autre procédure

    create or replace PROCEDURE get_uf_dispolit (o_Ret OUT SYS_REFCURSOR) AS

    v_Sql VARCHAR2(200);

    BEGIN
    v_Sql:='
    SELECT NOUF, CODEUF
    FROM UF
    ';
    OPEN o_Ret FOR v_sql;
    END;

    Quand j'execute la procedure print_uf dans la premier bd, j'ai l'erreur suivent

    Connecting to the database TEST_M.
    ORA-01001: curseur non valide
    ORA-06512: à "MRS.PRINT_UF", ligne 13
    ORA-06512: à ligne 2
    Process exited.
    Disconnecting from the database TEST_M.

    mais quand j'exécute la même procédure sur la seconde BD (g efface le @dblink) il marche tres tres bien..

    Procedure pint_uf

    create or replace PROCEDURE print_uf IS
    nouf CHAR(10);
    CODEUF CHAR(4);
    O_RET SYS_REFCURSOR;
    BEGIN
    GET_UF_DISPOLIT(O_RET => O_RET);

    LOOP
    FETCH O_RET INTO nouf, CODEUF;
    EXIT WHEN O_RET%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE('-->' || nouf || '--' || CODEUF || '<--' );
    END LOOP;
    END;

    Resultat:

    anonymous block completed
    -->1000000138--3272<--
    -->1000000139--3071<--
    -->1000000140--3070<--
    -->1000000141--3073<--
    -->1000000142--3062<--
    -->1000000143--2071<--
    -->1000000144--3104<--
    -->1000000145--3081<--



    On peut utiliser les curseur avec les dblinks?
    Ou il y a une autre méthode pour utiliser le curseur?

    MERCI BC!

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [PL/SQL] ORA-01001: curseur non valide
    personne n’a d’idée ? j’ai vraiment besoin d’aide.

Discussions similaires

  1. [JDBC-ODBC] Etat de curseur non valide
    Par I o dans le forum JDBC
    Réponses: 7
    Dernier message: 04/05/2015, 12h22
  2. [Oracle 8i][PL/SQL] Curseur non valide
    Par Bahan dans le forum Oracle
    Réponses: 16
    Dernier message: 11/09/2006, 20h17
  3. [JDBC][SQLException] Etat de curseur non valide
    Par chti_juanito dans le forum JDBC
    Réponses: 7
    Dernier message: 03/11/2005, 20h13
  4. [JDBC] état de curseur non valide ?
    Par Hydre dans le forum JDBC
    Réponses: 9
    Dernier message: 03/10/2005, 14h03
  5. [JSP] Erreur Etat de curseur non valide
    Par logica dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/05/2005, 14h42

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