Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1640 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [oracle] question con sur les clob

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[oracle] question con sur les clob

n°266058
Nico5779
Posté le 09-12-2002 à 22:13:02  profilanswer
 

Voila, lorsque que j essaye d'ajouter un champs de donnée de plus de 4000 bytes ,oracle me renvoi une erreur, (constante chaine trop longue) alors que me semble-t'il un clob peut contenir jusqu a 2 gig de données, comment résoudre ce problème???
C sans doute tout con mais je debute alors merci de m'eclairer :-)  
(articles et url sont les bienvenus)
Merci d'avance.

mood
Publicité
Posté le 09-12-2002 à 22:13:02  profilanswer
 

n°266091
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-12-2002 à 22:42:48  profilanswer
 

je connaissais les blobs mais pas les clobs :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266094
Mara's dad
Yes I can !
Posté le 09-12-2002 à 22:45:21  profilanswer
 

Ben c'est clair : "constante chaine trop longue" !
 
C'est pas le champs BLOB qu'est en question, c'est la requête qui ne peut pas contenir des chaînes trop longues.
 
La solution, c'est de passer par des fonction de l'api Oracle qui lisent le contenu à partir d'un fichier, ou encore de binder une variable de ton prog préalablement déclarée dans le type qui va bien toujours avec des fonction de l'api Oracle.
 
Pour plus de détail, tu l'utilise comment Oracle, avec que language ? ? ?
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266096
Mara's dad
Yes I can !
Posté le 09-12-2002 à 22:47:29  profilanswer
 

antp a écrit :

je connaissais les blobs mais pas les clobs :??:


 
BLOB : Binary Large OBject.
CLOB : Character Large OBject.
 
C'est presque pareil en fait.
 
C'est un peux comme l'abscence de différence entre un champ BLOB et un champs text en MySql ou Postgresql.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266101
Nico5779
Posté le 09-12-2002 à 22:54:30  profilanswer
 

Mara's dad a écrit :

Ben c'est clair : "constante chaine trop longue" !
 
C'est pas le champs BLOB qu'est en question, c'est la requête qui ne peut pas contenir des chaînes trop longues.
 
La solution, c'est de passer par des fonction de l'api Oracle qui lisent le contenu à partir d'un fichier, ou encore de binder une variable de ton prog préalablement déclarée dans le type qui va bien toujours avec des fonction de l'api Oracle.
 
Pour plus de détail, tu l'utilise comment Oracle, avec que language ? ? ?
 
 


 
j'utilise perl et coldfusion,tu c m'aider?
tu aurait pas de la doc sur "les fonction de l'api Oracle" paske  :sweat:  (c meme po ske c'est  :( )

n°266106
Mara's dad
Yes I can !
Posté le 09-12-2002 à 23:00:08  profilanswer
 

Heu, merde !
 
Je ne connais ni Perl ni Coldfusion !
 
Les fonctions de l'api, c'est celles que tu utilises pour causer à Oracle.
 
T'as bien des fonctions pour te connecter, exécuter une requête, lire le résultat, non ?
 
Ben c'est çà l'api !
 
Bon, vais chercher un peu et je reviens...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266110
Nico5779
Posté le 09-12-2002 à 23:06:07  profilanswer
 

ok, mais je pensait que ces fonction etaient totalement independante du sgdb puisque ce sont les meme que pour tout type de base.
(dans les deux language, pour cfml l'interpreteur se charge des acces aux données lui meme, pour perl c un module generique qui contient les drivers pour les principaux sgdb)

n°266115
Mara's dad
Yes I can !
Posté le 09-12-2002 à 23:11:09  profilanswer
 

T'as un lien vers une doc perl qui parle des accès Oracle ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266116
Mara's dad
Yes I can !
Posté le 09-12-2002 à 23:14:13  profilanswer
 

Tout ce que j'ai trouvé pour le moment, c'est :
http://www.they.com/doc/local/perl [...] with%20dbi
 
Pas très encouragent, n'est-il pas !


Message édité par Mara's dad le 09-12-2002 à 23:14:32

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266118
Nico5779
Posté le 09-12-2002 à 23:16:59  profilanswer
 
mood
Publicité
Posté le 09-12-2002 à 23:16:59  profilanswer
 

n°266120
Mara's dad
Yes I can !
Posté le 09-12-2002 à 23:19:33  profilanswer
 

Heu, j'ai trouvé çà : http://xmlproj.com/cgi/fom.cgi?_re [...] 33#file_19
 
Je sais pas si çà aide beaucoup.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266126
Mara's dad
Yes I can !
Posté le 09-12-2002 à 23:24:34  profilanswer
 

Ben en fait c'est dans la doc du CPAN :
 
http://search.cpan.org/author/TIMB [...] emo_Fields
 
Mais bon, c'est pas très détaillé, et pour les exemples, ben c'est pas çà !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266127
Nico5779
Posté le 09-12-2002 à 23:26:23  profilanswer
 

bah oué je c pour ca que je suis la  :(  

n°266155
Nico5779
Posté le 10-12-2002 à 00:14:04  profilanswer
 

bon ok ,pour binder un variable je viens de capter

Code :
  1. #!perl
  2. use DBI qw(:sql_types);
  3. $db = DBI->connect_cached('DBI:Oracle:base','SCOTT', 'tiger') ;
  4. $t = '...';//une longue chaine de plus de 4000 char
  5. $sth = $db->prepare( "
  6. INSERT INTO test2 (testa) VALUES (?)
  7.  " );
  8. $sth->bind_param(1,$t,SQL_LONGVARCHAR);
  9. $sth->execute();


Mais ca marche pas de nouveau si y as plus de 4000 bytes ,
g le message suivant :
DBD::Oracle::st execute failed: ORA-03113: end-of-file on communication channel
(DBD: oexec error) at test.pl line 16.
 
(et est ce que ce SQL_LONGVARCHAR c normal??, g naievement essayer SQL_CLOB, mais que dal)

n°266158
Mara's dad
Yes I can !
Posté le 10-12-2002 à 00:22:13  profilanswer
 

Et t'as essayé un ORA_BLOB, ou ORA_CLOB ?
 
ORA_BLOB, c'est ce que est utilisé là :  
 
http://xmlproj.com/cgi/fom.cgi?_re [...] 33#file_19


Message édité par Mara's dad le 10-12-2002 à 00:23:29

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266163
Nico5779
Posté le 10-12-2002 à 00:38:07  profilanswer
 

je viens d'essayer ca:

Code :
  1. #!perl
  2. use DBI;
  3. use DBD::Oracle qw(:ora_types);
  4. $db = DBI->connect_cached('DBI:Oracle:base','SCOTT', 'tiger') ;
  5. $t = '...';//une longue chaine de plus de 4000 char  
  6. $sth = $db->prepare( "
  7. INSERT INTO test2 (testa) VALUES (?)
  8.  " );
  9. $sth->bind_param(1, $t, {ora_type => ORA_CLOB} );
  10. $sth->execute();


 
mais ca me renvoit toujours la meme erreur  :(

n°266165
Mara's dad
Yes I can !
Posté le 10-12-2002 à 00:48:41  profilanswer
 

Le message "ORA-03113: end-of-file on communication channel" me fait penser que le pb est ailleur en fait. On dirait un genre de timeout...
 
En tout cas, c'est plus un "constante chaine trop longue"
 
Y'a quoi entre ta machine perl et le seveur oracle ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°266167
Nico5779
Posté le 10-12-2002 à 00:50:47  profilanswer
 

Mara's dad a écrit :

Le message "ORA-03113: end-of-file on communication channel" me fait penser que le pb est ailleur en fait. On dirait un genre de timeout...
 
En tout cas, c'est plus un "constante chaine trop longue"
 
Y'a quoi entre ta machine perl et le seveur oracle ?


 
les deux sont sur la meme machine si c ca que tu veux dire  :??:

n°266173
Mara's dad
Yes I can !
Posté le 10-12-2002 à 01:18:26  profilanswer
 

D'après http://www.oracle-error.com/ora-03113.htm
 
Cette erreur ne semble pas venir de ton CLOB !
 
Les autres requêtes fonctionnent encore ?
 
Essaye de tout redémarrer . . .


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [oracle] question con sur les clob

 

Sujets relatifs
[PHP/MySQL] question sur la recuperation de champsQuestion javascript HELP !!!
[JAVA] petite question sur les tableaux à 2 dim[java] question sur les threads
Question de "multiplateformage"[php] question d'un plus que debutant
-Oracle- Tronquer un float[Javascript] question pour des spécialistes.... [resolu]
[PHP] connection à une base oracle...Question sur le tracking
Plus de sujets relatifs à : [oracle] question con sur les clob


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR