|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2004 Messages : 11 ![]() |
Salut,
je viens vous car j'ai un problème lors de l'utilisation de OCI_LobRead ou OCI_LobRead2. J'ai un NCLOB d'environ 5000 caractères dans ma base de donnée, je n'ai eu aucun soucis pour l'insérer avec OCILIB mais j'ai une erreur "Access violation writing location" lorsque j'utilise OCI_LobRead ou OCI_LobRead2. Je vous met en gros le code que j'utilise Code :
Si je laisse à 5000 j'ai l'erreur qui est levée mais quand je break le programme, la chaine à l'air de s'être remplie quand même. J'ai essayé avec OCI_LobRead2 mais même j'ai exactement le même résultat. Si vous avez un piste ça m'aiderait beaucoup. Merci d'avance |
||
|
|
00
|
|
|
#2 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
Et quelle est l'erreur ??
sinon essaie de faire le read dans un loop par chunk de 2048 par exemple. Le mieux de d'iterer par chunk dont la taille est retournée par OCI_LobGetChunkSize() (bonnes pratiques oracle)
__________________
Vincent Rogier. Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique ! OCILIB (C Driver for Oracle) Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle |
|
00
|
|
|
#3 | |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
Version d'Oracle ?
Version d'OCILIB ? Charset mode utilisé ? Utilises tu UTF8 ? Si tu utilises OCI_CHARSET_WIDE (ocilibw.dll), the upcoming v3.9.3 has a fix around OCI_LobRead() within this charset mode. Here is the changelog of v3.9.3 (release date : 05/12/2011) : Citation:
__________________
Vincent Rogier. Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique ! OCILIB (C Driver for Oracle) Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : décembre 2004 Messages : 11 ![]() |
Merci pour tes réponses,
j'ai testé en version 3.9.1 d'OCILIB et j'utilisais bien la ocilibw.dll, l'erreur que j'avais était "Access violation writing location", je vais essayé ce matin la dernière version (3.9.3) et je te tiens au courant. Edit : Bon je viens de tester rapidement avec la dernière version et j'ai toujours le même soucis, ça vient peut-être de moi mais je vois pas en quoi. On travaille avec oracle 10g, mon CLOB fait exactement 4873 caractères, pour tester je crée un TCHAR de 6001 caractères (plus tard j'utiliserai la et j'utilise ReadLob(oClob, szTemp, 6000) pour essayer de le lire. C'est à ce moment là que j'ai l'erreur "Access violation writing location". Dis moi si j'utilise mal la fonction. En attendant je vais essayer de le faire en découpant par morceau. Merci d'avance |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com