我必须将日志文件导入SQL Server数据库。文件大小很大,大约6MB,40000行。导入任务必须每天使用日志进行。日志文件的每一行都包含许多字段,我必须将其导入到数据库中的正确列中以进行后处理。 我对这些解决方案感到困惑:
- 使用SQL Server Integration Services执行此操作。
- 使用BULK COPY
编写C#应用程序我可以相对自由地选择解决方案(在SQL Server和.NET框架中)。什么解决方案更适合这个,或者你可以建议另一个。
非常感谢你。
//编辑:我试过SSIS,发现它非常简单。但是每天,在收到日志文件后,我的程序必须自动将其导入数据库。我怎样才能做到这一点?
答案 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的构建原因,所以坚持下去。