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

PL/SQL Oracle Discussion :

ORA-03146 : Invalid buffer length for TTC field


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier Avatar de fmh1982
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 93
    Points
    93
    Par défaut ORA-03146 : Invalid buffer length for TTC field
    Bonjour,

    J'ai une procédure qui me renvoie un SYS_REFCURSOR de 7000 enregistrements.
    Depuis PHP j'ai un oci_fetch_array.
    ça fonctionne mais ça n'affiche que 5250 enregistrements et je reçois :

    Warning: oci_fetch_array(): ORA-03146: Invalid buffer length for TTC field
    Si je comprends bien il y a un dépassement de la taille mémoire !

    ORACLE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure users_list (refcur OUT SYS_REFCURSOR) AS
     
        BEGIN
            OPEN refcur for
                select id, first_name , last_name , username from v_users            
                order by last_name;
        end users_list;
    PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $stid_users = oci_parse($ora_conn, "BEGIN db.web_pkg.users_list(:rc); END;");
    $refcur_users  = oci_new_cursor($ora_conn);
    oci_bind_by_name($stid_users , ':rc', $refcur_users , -1, OCI_B_CURSOR);
    oci_execute($stid_users );
    oci_execute($refcur_users );
     
     
    while(($row_users = oci_fetch_array($refcur_users, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
     
    		echo $row_users["ID"]."<br> ";					
     
    }
    Merci pour votre aide.

  2. #2
    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
    Il faut consulter le support.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ORA-03146: Invalid buffer length for TTC field
    Cause:  A corrupt Two-Task Common (TTC) packet was received.
    Action:  This is a internal protocol error. Contact Oracle Support Services.

  3. #3
    Membre régulier Avatar de fmh1982
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 93
    Points
    93
    Par défaut
    Déjà fait, mais ça ne m'aide pas pour autant

  4. #4
    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
    Citation Envoyé par fmh1982 Voir le message
    Déjà fait, mais ça ne m'aide pas pour autant
    C'est une erreur interne Oracle vous devez appeler le service support d'Oracle!

  5. #5
    Membre régulier Avatar de fmh1982
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 93
    Points
    93
    Par défaut
    c'est comme si j'ai un message d'erreur sur Windows et je dois appeler le support Microsoft
    En plus c'est un Oracle 11g XE.

  6. #6
    Membre régulier Avatar de fmh1982
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 93
    Points
    93
    Par défaut
    J'ai trouvé.

    En fait , les data dans la colonne last_name est en majuscule, si je formate les data en minuscule , ceci passe sans problème et l'erreur disparaît.

    c'est étrange , mais une majuscule prend est plus grande niveau taille dans la mémoire , est-ce ça le problème. !!!

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

Discussions similaires

  1. [Microsoft][ODBC Driver Manager] Invalid string or buffer length
    Par Age_of_Aquarius dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 02/06/2013, 20h07
  2. ora-02248: invalid option for ALTER SESSION
    Par Devlop++ dans le forum Connexions aux bases de données
    Réponses: 1
    Dernier message: 26/02/2009, 12h27
  3. ora-02248: invalid option for ALTER SESSION
    Par Devlop++ dans le forum Forms
    Réponses: 1
    Dernier message: 26/02/2009, 11h47
  4. ora-02248 invalid option for ALTER SESSION
    Par Devlop++ dans le forum Sql*Plus
    Réponses: 5
    Dernier message: 26/02/2009, 11h47
  5. ORA-24373 : invalid length specified for statement
    Par fa_say dans le forum Oracle
    Réponses: 2
    Dernier message: 19/11/2005, 14h16

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