替代SQL BULK INSERT

问题描述:

我需要将数据表单.csv文件导入数据库表(MS SQL Server 2005)。 SQL BULK INSERT似乎是一个不错的选择,但问题是我的数据库服务器与我的WEB服务器不在同一个框中。 This question描述了同样的问题,但我没有任何控制我的数据库服务器,并且无法共享任何文件夹。替代SQL BULK INSERT

我需要一种方法来导入我的.csv编程(C#),任何想法?

编辑:这是一个网站,在那里用户可以使用的.csv内容填充表的一部分,并且会发生这种情况每周,如果不是更多的时候

我结束了使用CSV Reader。我在@Jon Skeet的答案中看到了它的一个参考,找不到它再将其链接到它

您有几种选择:

  1. SSIS
  2. DTS
  3. 自定义应用程序

任何这些方法都应该完成工作。如果只是从事临时工作,最好是用最喜欢的语言编写一次性应用程序,以便获取数据。如果需要更长寿命的解决方案,您可能需要查看SSIS或DTS,因为它们是为了这种情况。

尝试使用C#编写的开源ETL引擎Rhino-ETL,它甚至可以使用BOO实现简单的ETL脚本,因此您无需一直编译它。

的代码可以在这里找到: https://github.com/hibernating-rhinos/rhino-etl

它是谁写的家伙: http://www.ayende.com/blog

组名单有一些关于它的讨论中,我实际上是嘘声脚本添加批量插入前一阵子。 http://groups.google.com/group/rhino-tools-dev http://groups.google.com/group/rhino-tools-dev/browse_thread/thread/2ecc765c1872df19/d640cd259ed493f1

如果你下载的代码有几个样品,同时检查谷歌组列表,如果你需要更多的帮助。

你的数据集有多大?除非它们是非常大的,否则您可以使用参数化插入语句。您可能首先要加载到临时表,以便安心或性能原因。

+0

数据集上升到10k条记录 – 2009-02-23 22:24:57