gpt4 book ai didi

c# - 从 C# 控制台应用程序将大约一百万条记录插入 Oracle 的有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 19:55:45 27 4
gpt4 key购买 nike

我有一个 C# 控制台应用程序,我正在使用 Entity Framework 将大约一百万条记录插入 Oracle 11 数据库。第一次运行花了 12 多个小时,我最终不得不终止它。我现在正在记录插入内容,这样我就可以看到发生了什么,我确信这会减慢速度。没有错误,只是插入那么多文件花了很长时间。

有人建议查看用于 Oracle 的 SQL Loader,但我是 Oracle 的新手,我不确定我是否可以从控制台应用程序中运行它,然后我必须确保它在继续下一部分之前成功完成创建和导出文件的应用程序。

关于我可以查看哪些内容以加快插入速度的任何建议?

最佳答案

您不能将 EF 用于这种大型工作。我的意思是,您可以,但如您所见,效率不高。

这里最好的方法是使用 ODP.NET ( http://www.oracle.com/technetwork/topics/dotnet/index-085163.html ) 并制作一个普通的旧 PL-SQL 插入。

看看这个答案:Bulk Insert to Oracle using .NET 有关更多详细信息或此示例实现的信息 http://www.oracle.com/technetwork/issue-archive/2009/09-sep/o59odpnet-085168.html

显然,您仍然可以将 EF 用于其他一切,您只需要做一些安排即可使用普通的旧 pl-sql 实现此步骤。这就是我使用 SQL Server 等工作的方式。

希望对您有所帮助。

关于c# - 从 C# 控制台应用程序将大约一百万条记录插入 Oracle 的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com