2017-03-05 5 views
0

Nous utilisons un système ERP assez rare d'une petite entreprise qui ne nous permet pas de modifier les données de manière extensive. Nous avons pensé à faire une mise à jour des données en exportant les données que nous voulions changer directement à partir de la base de données et en utilisant Excel VBA pour mettre à jour un tas de données de différentes tables. Nous avons maintenant mis à jour les données dans Excel, qui est supposé être écrit dans la base de données Oracle. Le support d'it-business nous a dit de ne pas le faire, à cause de tous les déclencheurs fonctionnant en arrière-plan lors d'une mise à jour régulière des données dans leur programme. Nous avons très peur d'endommager la base de données, nous cherchons donc la meilleure façon de faire la mise à jour des données sans passer par un déclencheur. Pour être plus précis, il y a quelques milliers de changements que nous avons faits dans différentes colonnes et tables fusionnées dans un seul fichier Excel. Maintenant, nous devons nous assurer d'insérer les données modifiées dans la base de données et de déclencher tous les déclencheurs que le logiciel ERP effectue pendant la mise à jour des données.Comment mettre à jour une masse de données dans Oracle db en n'interrompant aucun déclencheur?

Y a-t-il quelqu'un qui connaît un bon moyen de le faire?

+0

Parlez au fournisseur qui a écrit et maintient le système. –

+0

Donc, l'enseignement est, la prochaine fois, demandez à certains experts la meilleure façon de faire les choses ** avant ** d'entreprendre tout le dur labeur. – APC

Répondre

0

Je ne sais pas quel système ERP vous utilisez, mais je peux relater quelques expériences de la suite E-Business d'Oracle. De nos jours, l'ERP d'Oracle comprend un ensemble robuste d'API qui permettra à vos programmes personnalisés de gérer en toute sécurité les données ERP. Par exemple, si vous souhaitez modifier une commande client, utilisez l'API Oracle à cette fin et assurez-vous que toutes les validations et logiques nécessaires sont appliquées. Donc, étape # 1 - découvrez si votre système ERP offre des API pour vous permettre de mettre vos données à jour en toute sécurité.

Au tout début de l'ERP Oracle, il n'y avait pas autant d'API. À l'époque, lorsque nous devions mettre à jour beaucoup de tables et n'avoir aucune API disponible, l'approche suivante consistait à utiliser une sorte d'outil de chargement de données. Le plus populaire était, en fait, appelé "Data Loader". Ce que cela ferait est de lire vos données à partir d'une feuille de calcul Excel et de l'envoyer à l'interface utilisateur de l'ERP - exactement comme si elle avait été saisie par un utilisateur. Puisque les données sont passées par l'interface utilisateur de l'ERP, toutes les validations et logiques nécessaires seront automatiquement appliquées. Dans les cas vraiment extrêmes, quand il n'y avait pas d'API et que DataLoader était, pour quelque raison que ce soit, pas pratique, il était toujours jugé nécessaire et valait le risque de tenter notre propre mise à jour directe des tables ERP. Ceci est, en général, risqué et une mauvaise pratique, mais parfois nous faisons ce que nous devons faire.

Dans ces cas, nous commencions une trace de base de données en cours de session d'un utilisateur car ils saisissaient quelques mises à jour via l'interface utilisateur de l'ERP. Ensuite, nous utiliserions la trace pour déterminer quelles validations et la logique associée nous devions appliquer lors de nos mises à jour directes personnalisées. Nous analyserions également le code source du système ERP (puisque nous l'avions disponible dans le cas de l'ERP d'Oracle). Ensuite, nous le testerions largement. Et, après tout cela, c'était encore risqué et aussi enclin à casser après les mises à niveau. Mais, en général, cela a fonctionné en dernier recours.

+0

Je pense que le problème est, ils ont déjà mis à jour leurs données dans Excel. – APC

+0

@APC - Alors je ne comprends pas le problème. Si je comprends bien, ils ont une feuille de calcul Excel contenant les données qu'ils veulent voir dans la base de données. Ils veulent l'intégrer dans la base de données, mais ils veulent s'assurer que d'autres logiques (déclencheurs) spécifiques à l'ERP se produisent lors de la mise à jour de la base de données. Je pense que ma réponse répond à cette compréhension du problème, en supposant que toute la logique spécifique à l'ERP n'est pas nécessairement implémentée sous la forme de déclencheurs de base de données. –

0

Non, mon problème est que je dois faire le travail rapidement en automatisant mes processus. Le travail est déjà fait sur Excel c'est vrai mais il fallait quand même la modifier. C'est seulement si je le mets manuellement avec c & p dans la db sur notre ERP ou tout à la fois sur je ne sais pas quoi. Mais je suppose que Mathew a raison. Il y a des processus de validation dans l'ERP, donc nous ne pouvons pas l'écrire directement dans la base de données. Je ne sais pas peut-être que vous pourriez me contacter si vous avez la moindre idée de contourner l'ERP d'une manière non risquée.