|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 41 ![]() |
Bonjour,
J'ai un plantage d'ocilib sur l'instruction OCI_Execute. la particularité est que la requête SQL est longue, environ 700 binds... Merci de m'indiquer une piste à suivre... (tests à réaliser avant l'execute) Fly. Version OCILIB 3.4.0 Itanium v$version Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production PL/SQL Release 11.2.0.1.0 - Production CORE 11.2.0.1.0 Production TNS for HPUX: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production |
|
|
00
|
|
|
#2 | |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 41 ![]() |
Quelques infos supplémentaires.
Après une préparation d'un source simple qui tente de reproduire le problème, j'ai une erreur du type ORA-24550. A l'exécution, cela donne quelque chose comme cela: Citation:
Mais elle ne semble pas s'appliquer à cette version d'ORACLE. ... |
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 41 ![]() |
Bonjour,
Après quelques tests, le même programme C fonctionne correctement sur la version OCILIB 3.9.2... Confirmez-vous ce problème sur la version 3.4.0 ? D'avance merci. Fly. |
|
|
00
|
|
|
#4 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
Salut,
En version 3.4, OCILIB supportait au maximum 512 binds par requête. Depuis la 3.5.0, le max est 1024 Vincent.
__________________
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
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 41 ![]() |
Bonjour,
La réponse est claire... C'est parti pour une version OCILIB 3.9.2 sur HP Itanium! Dois-je ajouter un contrôle sur le dépassement du nombre de binds ou est-ce que la version 3.9.2 réalise ce test ? Pas de conseil particulier pour un passage de la 3.4.0 à la 3.9.2 ? D'avance merci. FRanck. |
|
|
00
|
|
|
#6 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
pour le contrôle du nombre de bind, oui !
Si tu dépasses le max, OCILIB lève une erreur de type OCI_ERR_MAX_BIND. Pour la migration, rien de particuliers, mais regardes le changelog au cas ou. Pour info une 3.9.3 va sortir en début de semaine (quelques fix mineurs)
__________________
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
|
|
|
#7 | ||||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 41 ![]() |
Re,
J'utilise dans mon programme OCI_BindString et OCI_BindInt. Ces deux fonctions ne semblent pas me renvoyer la valeur false en 3.4.0... le plantage vu précédemment se produit sur un OCI_BindInt et j'ai le plantage suivant sur le 528 binds... ? Donc je rectifie, le plantage est sur OCI_Bind.... et non sur OCI_Execute dans l'exemple... Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com