Problème avec un 'INSERT INTO ... SELECT'

Fermé
omega150782 - Modifié par omega150782 le 20/12/2010 à 10:06
 omega150782 - 21 déc. 2010 à 09:20
Bonjour,
je travail actuellement sur un problème concernant une requête ORACLE et je ne vois pas du tout ce qui pourrais causer ce problème.

Un logiciel, crée en VB6, effectue plusieurs actions en BDD afin de récupérer, calculer et écrire des infos dans un fichier.

- Tout d'abord, on crée une table (temporaire, qui sera supprimer a la fin du traitement).
'CREATE TABLE TabReq1 (chp1 INT , chp2 INT, chp3 INT, etc..);'

- Ensuite, on rempli cette table avec les informations dont on a besoin et qui existent déjà dans d'autres tables.
INSERT INTO TabReq1 SELECT Tab1.Chp1, Tab1.Chp2, Tab2.Chp1, etc....


Le problème vient juste après cela.
Pour vérifié que la requête INSERT s'est correctement réalisé, j'effectue un COUNT de la table 'TabReq1' pour savoir le nombre d'enregistrement crée.
Quand tout est OK, la requête me retourne environ 56000 enregistrements, par contre de temps en temps, il n'en trouve aucun, comme si la requête INSERT INTO n'avait rien fait.
Ce 'de temps en temps' est totalement aléatoire(en tout cas pour moi, car je n'ai toujours pas compris).

J'ai d'abord pensé à un timeOut trop petit, mais après vérification il est a 10 min et ma requête ne prend que 30 sec environ.
Cette action se fait la nuit, donc ce n'est pas non plus un problème de nombre de connexion autorisé à la base.

Donc je sèche, je n'ai plus d'idée, est ce que vous, vous voyez certaines choses a vérifier, a tester pour me sortir de ce bourbier?

Merci d'avance

2 réponses

mathew76 Messages postés 129 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 30 novembre 2011 64
20 déc. 2010 à 11:46
Bonjour

Je me demande si ce n'est pas un problème de connection, as tu vérifier par un message d'erreur le cas échéant ?

A ++
0
Bonjour, et non malheureusement, il n'y a aucun message d'erreur, ni provenant de mon code source VB6, ni de la base SQL.
J'ai essayé autre chose, je ne tente plus de recréer la table temporaire a chaque fois, je la laisse en base et ne fait que la vider une fois le traitement terminé.
Je vais donc voir si l'erreur se reproduit a partir de maintenant.
Je croise les doigts.
0