Problème de trigger sur base Oracle et Hdéclareexterne

Posté par 2501 le 1/2/2007 18:54:59
Bonjour,

J'ai un composant qui met permet de faire le liens entre mes développement, et une multitudes de tables de divers logiciels de gestion (lecture écriture de clients, articles, etc..)

Ce composant ne fonctionne qu'avec des hdeclareexternes utilisés dans du code source généré par le composant, puis compilé par l'application hote.

Et la je rencontre un problème sur la base Oracle d'un des logiciels de gestion. Il y à des triggers de contrôle sur l'ajout d'enregistrements dans certaines tables. Sur la table chantiers par exemple, j'obtient ceci :

---------------------------
Fiche chantier
---------------------------
Erreur de l'accès ODBC/OLEDB (provider=MSDASQL).
Numéro d'erreur = 170147 
 
Echec de la mise à jour de l'enregistrement sur la base de données.
Détail de l'erreur système : 	Description = [Oracle][ODBC][Ora]ORA-04091: la table APIBAT_DOS_DEMO.PMECHANTIER est en mutation ; le déclencheur ou la fonction ne peut la voir
ORA-06512: à "APIBAT_DOS_DEMO.PME_PG_CHANTIER", ligne 2844
ORA-06512: à "APIBAT_DOS_DEMO.PME_TR_CHANTIER_UPDDEPOT", ligne 7
ORA-04088: erreur lors d'exécution du déclencheur 'APIBAT_DOS_DEMO.PME_TR_CHANTIER_UPDDEPOT'

	Source = Microsoft OLE DB Provider for ODBC Drivers
	SQL State = S1000
	Error Number = -2147467259
	Native Error Number = 4091


	Description = Une opération OLE-DB en plusieurs étapes a généré des erreurs. Vérifiez chaque valeur d'état OLE-DB disponible. Aucun travail n'a été effectué.
	Source = Microsoft OLE DB Provider for ODBC Drivers
	SQL State = S1000
	Error Number = -2147217887


Ce qui est étonnant par contre, c'est que j'ai pas toujours l'erreur. Parfois j'arrive à créer le nouvel enregistrement.

Sinon sous access 2000, si je lie juste ma table chantier, je n'ai pas de soucis non plus...

Je précise que j'attaque la base oracle via ODBC.

J'avoue que je sèche un peu sur le problème. Donc si vous avez des idées, je suis prenneur...

Merci d'avance pour vos réponses,

Seb

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=4917&post_id=20349