从文本文件导入到SQL Server数据库,我应该选择哪种解决方案?

时间:2009-07-16 08:34:10

标签: c# sql-server ssis

我必须将日志文件导入SQL Server数据库。文件大小很大,大约6MB,40000行。导入任务必须每天使用日志进行。日志文件的每一行都包含许多字段,我必须将其导入到数据库中的正确列中以进行后处理。  我对这些解决方案感到困惑:

- 使用SQL Server Integration Services执行此操作。

- 使用BULK COPY

编写C#应用程序

我可以相对自由地选择解决方案(在SQL Server和.NET框架中)。什么解决方案更适合这个,或者你可以建议另一个。

非常感谢你。

//编辑:我试过SSIS,发现它非常简单。但是每天,在收到日志文件后,我的程序必须自动将其导入数据库。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

我会写一个SSIS包来做这件事。

您可以使用导入/导出向导生成包的开头并对其进行调整以满足您的确切需求。

要在SQL 2005中执行此操作,请在SQL Management Studio中的对象资源管理器中右键单击数据库,然后执行任务>导入数据,按照向导进行操作,最后选择保存包。

我认为它在SQL 2008中是一个类似的过程,但我没有把它交给你。

保存软件包后,可以使用SQL Server aAgent进行安排,在设置作业时,选择“SQL Server Integraton Services Package”作为类型,然后选择您的包。

答案 1 :(得分:1)

我可能会编写一个脚本,将日志文件转换为插入日志文件字符串的sql转储,然后将该sql转储加载到数据库中。

答案 2 :(得分:1)

6MB实际上很小:)

SQL Server Integration Services不仅仅是完成任务。 BULK COPY可以很快变得复杂,特别是对于那些不熟悉的人。作为第三种选择,您可以编写自己的程序来执行INSERTS,但是再次,这就是SSIS的构建原因,所以坚持下去。

相关问题