SQL BULK INSERT的替代品

我需要将数据表单.csv文件导入数据库表(MS SQL Server 2005)。 SQL BULK INSERT似乎是一个不错的选择,但问题是我的数据库服务器与我的WEB服务器不在同一个盒子上。 这个问题描述了同样的问题,但我无法控制我的数据库服务器,也无法共享任何文件夹。

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

编辑:这是一个网站的一部分,用户可以使用.csv内容填充表格,这将每周发生,如果不是更频繁

你有几个选择:

  1. SSIS
  2. DTS
  3. 定制应用

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

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

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

写这篇文章的人: http : //www.ayende.com/blog

小组列表有一些关于它的讨论,我实际上刚刚为boo脚本添加了批量插入。 http://groups.google.com/group/rhino-tools-dev http://groups.google.com/group/rhino-tools-dev/browse_thread/thread/2ecc765c1872df19/d640cd259ed493f1

如果您下载代码有几个示例,如果您需要更多帮助,请查看Google群组列表。

我最终使用CSV阅读器 。 我在@Jon Skeet的一个答案中看到了对它的引用,再也找不到将它链接到它

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