2009-08-13 94 views
0

我正在为我的数据库从MSSQL Express Edition转换为Oracle。 表中的行数约为500万。 在MSSQL方面,我使用LINQ to SQL来选择数据。 我会用同样的方法用于Oracle,但不幸的是在.NET中没有LINQ to Oracle。 我知道有开源的LINQ to Oracle实现,但我想我会使用简单的System.Data.OracleClient命名空间。 我的问题是如何将行插入到Oracle数据库一次?如果我要每行调用ExecuteQuery(),恐怕会花费大量的时间。 那么我的问题有没有优雅的解决方案? 谢谢。C#,一次向数据库插入多条记录

回答

3

最简单的方法是放弃该程序并使用SQL Server Integration Services。您可以直接从MSSql服务器链接到Oracle数据库并推送数据。

+0

第二,您甚至可以存储包来运行它再次如果它需要在几个数据库上运行 – 2009-08-13 12:42:18

+0

好的方法,但不幸的是我有SQL Server Express版本 – Sorantis 2009-08-13 12:49:45

+0

对于这种数据传输的目的,你可以使用一个完整的Sql Server的评估或$ 50的开发版本。许可问题可能会使事情变得简单,但需要考虑。 您也可以查看其他可能为您生成插入脚本的第三方应用程序,例如Red Gate工具。你的目标是Oracle(Red Gate不支持),但是你最终应该在oracle db上使用一个易于修改的插入脚本来执行vanilla执行。 – 2009-08-13 13:16:39

0

您可以编写一个Oracle SP并从您的应用程序中调用相同。是否有任何特定的原因/目的,你需要一个单独的转换器应用程序?您可以创建从Oracle到SQL Server的dblink,然后使用ODBC连接,然后填充数据,至于时间/日期格式不匹配,您可以始终使用格式化它们to_char()函数