question con sur les clob [oracle] - SQL/NoSQL - Programmation
Marsh Posté le 09-12-2002 à 22:42:48
je connaissais les blobs mais pas les clobs
Marsh Posté le 09-12-2002 à 22:45:21
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 ? ? ?
Marsh Posté le 09-12-2002 à 22:47:29
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.
Marsh Posté le 09-12-2002 à 22:54:30
Mara's dad a écrit : Ben c'est clair : "constante chaine trop longue" ! |
j'utilise perl et coldfusion,tu c m'aider?
tu aurait pas de la doc sur "les fonction de l'api Oracle" paske (c meme po ske c'est )
Marsh Posté le 09-12-2002 à 23:00:08
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...
Marsh Posté le 09-12-2002 à 23:06:07
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)
Marsh Posté le 09-12-2002 à 23:11:09
T'as un lien vers une doc perl qui parle des accès Oracle ?
Marsh Posté le 09-12-2002 à 23:14:13
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 !
Marsh Posté le 09-12-2002 à 23:16:59
oué en voici deux:
http://www.med.univ-rennes1.fr/~po [...] erl35.html
http://www.linux-france.org/prj/ed [...] x1038.html
et la doc du CPAN
http://search.cpan.org/author/TIMB [...] ss_Methods
Marsh Posté le 09-12-2002 à 23:19:33
Heu, j'ai trouvé çà : http://xmlproj.com/cgi/fom.cgi?_re [...] 33#file_19
Je sais pas si çà aide beaucoup.
Marsh Posté le 09-12-2002 à 23:24:34
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 çà !
Marsh Posté le 10-12-2002 à 00:14:04
bon ok ,pour binder un variable je viens de capter
Code :
|
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)
Marsh Posté le 10-12-2002 à 00:22:13
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
Marsh Posté le 10-12-2002 à 00:38:07
je viens d'essayer ca:
Code :
|
mais ca me renvoit toujours la meme erreur
Marsh Posté le 10-12-2002 à 00:48:41
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 ?
Marsh Posté le 10-12-2002 à 00:50:47
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... |
les deux sont sur la meme machine si c ca que tu veux dire
Marsh Posté le 10-12-2002 à 01:18:26
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 . . .
Marsh Posté le 09-12-2002 à 22:13:02
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.