1

我正在使用 C# 开发 winform 应用程序,我必须从 Oracle 视图导入大约 200,000 条记录并转储到 SQL Server 表中。我不确定如何解决这个问题,是否应该使用数据表来保存所有这些记录,然后将其存储在 SQL 服务器中,或者我必须使用一些我不熟悉的 DBlink。任何建议/建议将不胜感激。谢谢!

4

2 回答 2

2

你如何处理它很大程度上取决于数据及其使用方式。

如果是经常变化的动态数据,那么拥有实时链接可能会更好,尽管仍然可能存在速度问题。或者,如果它更改了一些但不经常更改,则使用 SSIS 包将其重新加载到 SQL Server 可能是一个不错的选择。如果拥有两个数据副本更简单(并且数据不会更改),那么只进行一次复制可能是可以接受的。

如果您要制作 SSIS 包或通过 SQL Server 访问数据但将其留在 Oracle 中,则建议设置 DB 链接。

如果您每个月都在使用数据并更新数据,而不是在 SQL 中对其进行修改,那么创建 SSIS 任务和 DB Link 将是一个合理的解决方案。创建链接并确保它连接,然后使用 SSIS 截断您的 SQL 表,然后从 Oracle 重新加载它。在应用程序不使用数据的 SQL 副本期间运行包。做一个工作来运行这个包。在截断或复制到临时位置之前备份表可能是合理的,或者在加载数据出现问题的情况下进行某种恢复的过程。类似于以下内容:

Job  
step 1   Backup table 
step 2   (if step 1 successful) Run SSIS package
                    Truncate table
                    Reload table using DB Link 
step 3   (if step 2 failure) restore from backup
于 2013-10-22T23:03:41.293 回答
0

打开 2 个连接。从一个读取并写入另一个。有一个 Oracle .Net 驱动程序。它被称为 ODP.NET。

于 2013-10-22T23:06:37.863 回答