|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : août 2009 Messages : 12 ![]() |
J'ai un problème très bizarre avec OCILIB que je n'arrive pas a comprendre.
J'ai un serveur de bdd Oracle 10.2.0.3 sous AIX 5.3 en full 64 bit. Je le "bombarde" avec un binaire fonctionnant sous Windows XP Pro SP3 intégrant ocilib 3.8.1 telle que livrée. Grosso modo je passe environ 60 fichiers sur les 1500 que je dois traiter. Puis plus une aucune ligne n'est insérée en base. Je n'ai aucune erreur. Le seul retour que j'ai c'est que "0 rows sont affectées sur les 1000 que contient le buffer binder au départ"... Fait intéressant, si je vide les tables et attaque à partir du 61ème fichier cela fonctionne puis à nouveau le même blocage plus loin sur la série... Comme s'il s'agissait d'un phénomène lié à un seuil en volume de données... Le tablespace le + important: Code :
Code :
Cette situation évoque-t'elle quelque chose à quelqu'un? |
||||
|
|
00
|
|
|
#2 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
salut,
peux tu donner plus de précisions sur le code, les appels utilisés ?
__________________
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 | ||||||||||||
|
Invité régulier
![]() Inscription : août 2009 Messages : 12 ![]() |
Bonjour,
Je vais essayer d'être le + concis possible! Le projet sur lequel je travaille consiste à charger dans une base de données une certaine quantité d'information. Comme indiqué dans mon message précédent le premier essai en grandeur réelle se fait avec un volume relativement restreint, de l'ordre de 600 Go au final. Le programme a été développé en C++, il est fortement multithreadé pour optimiser le temps de chargement. Le traitement d'insertion fonctionne de la manière suivante:
Et comme indiqué dans mon message précédent, lorsque cela ne fonctionne pas, la fonction OCI_BindArrayGetSize(st) m'indique qu'un buffer de taille x a été correctement préparé, OCI_Execute(st) ne renvoie aucune erreur, tandis que la fonction OCI_GetAffectedRows(st) renvoie 0! Je ne comprends pas... |
||||||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com