0

我们正在运行一个非常罕见的小型 IT 企业 erp 系统,它不允许我们以广泛的方式修改数据。我们考虑通过直接从数据库中导出我们想要更改的数据并使用 Excel VBA 更新不同表的一堆数据来进行数据更新。现在我们在 excel 中更新了应该写入 Oracle DB 的数据。IT 业务支持人员告诉我们不要这样做,因为在他们的程序中定期更新数据期间,所有触发器都在后台运行。我们非常害怕损坏数据库,因此我们正在寻找在不绕过任何触发器的情况下进行数据更新的最佳方法。更具体地说,我们在一个 Excel 文件中合并在一起的不同列和表中进行了数千次更改。

有没有人知道这样做的好方法?

4

2 回答 2

0

我不知道您使用的是什么ERP系统,但我可以从Oracle的电子商务套件中获得一些经验。

如今,Oracle 的 ERP 包含一组强大的 API,可让您的自定义程序安全地维护 ERP 数据。例如,如果您想修改销售订单,您可以使用 Oracle 的 API 来实现此目的,它会确保应用所有必要的相关验证和逻辑。

因此,步骤 #1 - 了解您的 ERP 系统是否提供任何 API 以允许您安全地更新数据。

早在甲骨文 ERP 的早期,API 并不多。在那些日子里,当我们需要更新很多表并且没有可用的 API 时,下一个方法是使用某种数据加载器工具。事实上,最受欢迎的是“Data Loader”。这样做的目的是从 Excel 电子表格中读取您的数据并将其发送到 ERP 的用户界面——就好像它是由用户输入的一样。由于数据通过 ERP 的 UI,所有必要的验证和逻辑都将自动应用。

在非常极端的情况下,当没有 API 并且 DataLoader 出于某种原因不实用时,有时仍然认为有必要并且值得冒险尝试我们自己直接更新 ERP 表。一般来说,这是有风险的,也是一种不好的做法,但有时我们会做我们必须做的事情。

在这些情况下,我们将在用户会话中启动数据库跟踪,因为他们通过 ERP 的用户界面键入了一些更新。然后,我们将使用跟踪来确定在自定义直接更新期间需要应用哪些验证和相关逻辑。我们还将分析 ERP 系统的源代码(因为我们在 Oracle 的 ERP 中提供了它)。然后,我们将对其进行广泛的测试。而且,毕竟,它仍然存在风险,并且在升级后也容易损坏。但是,总的来说,它是最后的手段。

于 2017-03-05T14:01:30.413 回答
0

不,我的问题是我需要通过在我的流程中进行一些自动化来快速完成工作。这项工作已经在 excel 上完成,这是真的,但无论如何它都需要修改。只有当我通过我们的 ERP 手动将它与 c&p 一起放入数据库时​​,或者一次全部放在我不知道是什么时。但我想马修是对的。ERP 中有验证过程,因此我们不能将其直接写入数据库。我不知道如果你有线索以非危险的方式绕过 ERP,也许你可以联系我。

于 2017-03-08T13:01:40.160 回答