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