ASP-ORACLE "string literal too long" - SQL/NoSQL - Programmation
Marsh Posté le 16-12-2003 à 09:03:57
Pourquoi ne pas utilisé un VARCHAR2 (max 16238 caratère) au lien d'un LONG? De plus l'utilisation du LONG est devenue totalement obsolète avec les BLOB et les CLOB
Marsh Posté le 16-12-2003 à 11:49:07
ben je veux bien moi mettre un varchar2 ou meme un CLOB mais ca me fait exactement pareil ...
et j'arrive pas a creer un varchar2 de plus de 4000 caracteres non plus
personne n'a jamais inserer plus de 4000 caracteres sous un sgbd ou je suis vraiment si si mauvais que ca ? bon ok ok je suis mauvais mais bon je suis bloqué la
Marsh Posté le 16-12-2003 à 12:22:21
Voilà pour toi:
http://support.microsoft.com/defau [...] bContent=1
En tout cas t'as pas de bolle
Marsh Posté le 16-12-2003 à 12:52:15
oui j'avais lu cette bc mais ....
ca veut pas dire que je peux pas le faire non ?
c'est pas possible que ce ne soit pas possible ?
je ne pense pas qu'il n'y ait aucune bdd oracle dans le monde avec un champ sup a 4000 caracteres ?
je vais me petit suicider sinon snif
Marsh Posté le 16-12-2003 à 16:21:25
Je viens de faire un test, 4000 caractères dans un VARCHAR2(4000) sa rentre.
Marsh Posté le 16-12-2003 à 17:35:57
merci beaucoup thecoin d'avoir consacré du tps a mon pb!
bon je pense etre sur le point de le resoudre en fait :
j'ai donc mis un CLOB a la place du LONG et je fais un append ... (je savais mm pas que c'etait faisable, en fait je viens de decouvrir OO4O!)
donc pour ceux que ca interesse, je met une copie du code :
Code :
|
apparement il est possible de faire ca avec un BIND aussi (que je viens de decouvrir aussi lol) et ca a l'air pas mal faudrait que je me penche sur le pb, mais la j'ai pris trop de retard!
Merci bcp en tout cas
Marsh Posté le 17-12-2003 à 18:55:43
Il faut passer par une connection OLE.
Ou inserrer des blocs de 4000 caractères, en faisant :
update table set champ = champ + 'blablabla'
Marsh Posté le 15-12-2003 à 18:50:23
Bonjour a tous,
mouarf j'ai une question con histoire de changer un peu mais bon ...
donc voila dans ma table oracle j'ai un LONG malheureusement il semblerait que l'on ne puisse pas inserer des chaines de caracteres supérieurs a 4000 caracteres avec Oracle8
J'ai essaye avec un CLOB au lieu d'un long mais pareil .... "string literal too long"
en editant la colonne en passant par le "schema browser" de TOAD, j'arrive a depasser cette limite !
mais des que je fais un UPDATE (que ce soit par toad ou en asp) ca merde
C'est de l'asp 3 et je me connecte de la maniere suivante :
Set ConnexionOracle = Server.CreateObject("ADODB.Connection" )
ConnexionOracle.Open "Provider=MSDAORA;Data Source=" & DB_DATA_SOURCE & ";User ID=" & DB_USER_ID & ";password=" & DB_PASSWORD
et je fais un update avec ma chaine tres longue en faisant un
ConnexionOracle.execute("update etc etc values ('chaine de plus de 4000 caracteres')" )
a ce que j'ai pu comprendre on doit passer le LONG en CLOB mais ca ne change rien
j'ai egalement vu un "bind" mais je ne comprend pas comment ca marche ?
Est ce qu'il est possible de concatener a la suite d'un fichier ? comme ca j'ai qu'a decouper mon texte en nx3000 que je concatene ....
seulement j'ai pas trouvé comment concatner avec UPDATE donc, la aussi je suis dans l'impasse et c'etait pourtant la seule facons que je voyais encore imaginable ....
s'il vous plait aidez moiiiiiiiiii !!!!
en tout cas, un enorme merci a celui qui pourra me depanner
Xc0r