Problème avec un 'INSERT INTO ... SELECT'
omega150782
-
omega150782 -
omega150782 -
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
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
A voir également:
- Problème avec un 'INSERT INTO ... SELECT'
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Pas de touche insert sur mon clavier - Forum Clavier
- Touche inser sur elite book hp - Forum PC portable
- Please select boot device - Forum Matériel & Système
2 réponses
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 ++
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 ++
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.
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.