如何从.csv -file将大量数据加载到oracle数据库中,而不会有丢失och不匹配数据的风险?

问题描述 投票:-1回答:1

我正在尝试从现有的excel文件中将大量数据迁移到oracle数据库中。由于每次加载大量行(10 000或更多),因此无法使用SQL Developer执行此任务。在每个工作表中都有需要进入不同表的数据,但同时保持关系而不丢弃任何数据。

至于现在,我为每个表使用一个.CSV文件,然后将它们映射到一起。这就是你加入错误的FK的巨大风险,以及用螺丝拧紧孔屎。即使是我自己的烂摊子,我也没有时间,精力或清理的意志......

我最初的想法是,如果我可以使用某种plsql脚本在一个ctl文件(用于映射属性)中使用某种类型的plsql脚本进行批量传输,但是看起来我很喜欢那个......(或者是我...?)另一个想法是创建一个简单的程序在c#中使用fastMember并以这种方式加载数据库。 (但这意味着我需要花时间来实际制作程序,无论它多么小)。

我不可能成为唯一一个遇到过这个问题的人,但是试着向我们提出我的notToElevatedNinjaGoogling技巧最终要么使用sql developer(女巫不是另类),要么是sql load中的大量复制内容(以及我需要的地方)之后将它们全部映射到一起)。

对于我的问题是否有其他解决方案,或者上述解决方案是我需要应对的解决方案?

oracle oracle-sqldeveloper data-migration sql-loader import-from-excel
1个回答
0
投票

您是否考虑将CSV文件用作外部表?由于它们就像普通的Oracle表一样,您可以针对它们编写(PL /)SQL,将数据插入目标模式中的不同表中。这可能会让你更自由地控制你正在做的事情。

在幕后,它仍然是SQL * Loader。

© www.soinside.com 2019 - 2024. All rights reserved.