2010-03-04 100 views
0

我正在读取一个csv文件到vb.net中的数据表中,并进行一些检查并追加一个额外的列。 然后,我希望使用microsofts Oracle.DataAccess(在此选择)执行批量插入到Oracle数据库。使用Oracle.DataAccess和VB.net将数据表批量插入到Oracle中

什么是最好的方式来执行此操作,因为没有像SQLserver那样的bulkImport。

感谢

回答

0

为什么批量插入而不是常规的插入?

如果要避免生成重做日志条目,最好的方法是将常规插入到全局临时表[由于它是暂时的,它不需要恢复],因此不会生成重做。然后,最后,从临时表中将INSERT/* + APPEND * /添加到实际表中。如果真正的表被定义为NOLOGGING,附加提示将告诉它不要生成重做。

+0

谢谢加里, 我说大容量插入,因为这是我用这个时,要去一个sqlserver。 (.net的SQL数据提供程序有一个BulkCopy命令) 我想要最好的方法将数据表数据插入到oracle。 它只是通过调用插入到Oracle DB的表循环。 这是很多往返的dB,不是吗? – bryan

+0

任何有关于此的任何想法? – bryan

0

我一直在寻找类似的线条,但是却遇到了一个死胡同。我从Microsoft公司ADO .NET团队项目经理Pablo Castro的声明中了解到,SqlBulkCopy包含在ADO.NET 2.0中,用于SQL Server的.NET提供程序(SqlClient)。他们不支持OracleClient提供商的批量复制。