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 :

copie de données de type longraw


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Par défaut copie de données de type longraw
    Bonjour,

    Dans une fonction plsql sur oracle 10g, j'effectue les étapes suivantes :

    - vbinaire est une variable de type long
    - création d'un curseur C1 'select id, champ_longraw from table_longraw_1'
    - Dans un loop qui lit les enregistrements du curseur C1 les étapes sont les suivantes :
    debut loop
    - vbinaire := rawtohex(enreg.champ_longraw)
    - insert into table_longraw_2 values (enreg.id, hextoraw(vbinaire))
    fin loop

    Lorsque la table champ_longraw_1 est vide pas de problème par contre quand le champ champ_longraw est renseigné j'ai un plantage du type :
    ORA-01461: can bind a LONG value only for insert into a LONG column tips

    Quelqu'un aurai-t-il ue idée comment faire ???

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    J'ai rechercher a partir du code d'erreur d'oracle sur internet et voici la description de l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Error: ORA-01461: can bind a LONG value only for insert into a LONG column 
    Cause: You tried to insert a LONG value into a column that is not a LONG datatype. 
    Action: The options to resolve this Oracle error are: 
    You can not insert a LONG value into a column that is not defined as LONG. Modify your INSERT statement accordingly.
    Il est difficile de cerner le problème avec si peu d'information. Si vous pourriez précisé un peu plus ce serait apprécié.

    En bref, la fonction HexToRaw ne retourne t'elle pas des données de type Raw et non de Long Raw?

    Est-ce que ces deux types sont compatible?

    A vérifier : le champs champ_longraw de la table Table_longraw_2 quel est son type?

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par fabrice92 Voir le message
    debut loop
    - vbinaire := rawtohex(enreg.champ_longraw)
    - insert into table_longraw_2 values (enreg.id, hextoraw(vbinaire))
    fin loop
    quel est le type de vbinaire?

    pouquoi ne fais-tu pas ?

    debut loop
    - insert into table_longraw_2 values (enreg.id, enreg.champ_longraw)
    fin loop

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/07/2005, 10h03
  2. Réponses: 3
    Dernier message: 24/04/2005, 14h19
  3. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39
  4. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50
  5. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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