暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 单向复制。带有本地数据库的Net应用程序

ASKTOM 2020-11-05
333

问题描述

嗨,汤姆,

我正在开发一个ecu测试应用程序。我们部门的网。
测试数据存储在我们的远程Oracle服务器中。

在过去的几年中,每次需要数据时,我都只是从c # 应用程序打开与Oracle服务器的连接,并按需请求我需要的所有数据。

现在,我的目标是在本地拥有所有数据,并且仅在主oracle表中有新数据时才更新本地数据库。
这是因为我想用我的c # 应用程序运行 “旧” 测试,当没有连接到oracle服务器是可能的。

在过去的几天里,我做了很多研究如何做到这一点。但是有太多的可能性让我现在迷路了。

您能给我提示哪种解决方案可以满足我的要求吗?

在本地方面,我想到了一个SQLite。Net应用程序。但是也许有更好的解决方案可以支持oracle的要求。

只有我想要相同的Oracle表数据在我的本地数据库。只有一种方法。
如果我已连接到Oracle,则应使用新的主数据更新本地数据。

当您给我提示正确的方向以进一步研究如何以一种方式同步本地数据库时,这将是很棒的。net应用程序。

高级感谢,
卡斯滕·赫克特

专家解答

如果您要将数据从另一个数据库复制到计算机上运行的数据库,那么最简单的选择可能是:

Data Pump Export/Import

如果您可以定期 (例如每天) 安排源数据库的 (架构或完整) 导出,则可以在需要时将最新数据导入数据库。

如果出于任何原因无法创建导出文件,则可以进行网络导出/导入。

如果源数据库是 “大” 的,这个过程可能需要一段时间。您可以通过安排导入在开始工作之前的早期运行来解决此问题。或通过将过程限制为您要更新的几个表。

导入完成后,您的数据库与原始数据库无关,因此您可以根据需要进行操作。如果在测试过程中出现了可怕的错误 (例如导致垃圾数据的应用程序错误),您可以通过重新导入数据来恢复。

On the local side I think about a SQLite for the .Net application

您希望测试数据库的配置尽可能接近生产数据库。将数据加载到differentRDBMS打破了这一原则。由于数据库差异,这可能会使您的许多测试无效。

不惜一切代价避免做这样的事情!无论源RDBMS是什么,这都适用。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论