将CSV更新导入SQL Server

时间:2013-10-02 03:12:15

标签: sql sql-server csv

我正在寻找一个简单的解决方案(初学者到SQL),允许从我的.csv文件导入数据到我的SQL DB。

我有第三方程序每30秒更新一次.csv文件,我想将更新信息放入我的SQL DB。我试过导入&导出向导但由于其他第三方程序正在使用.csv文件而无法正常工作。

将信息输入SQL DB不需要实时,只需在打开已保存的SQL查询文件时检索所有信息。

谢谢!

2 个答案:

答案 0 :(得分:0)

OPENROWSET是最简单的一个,如果你在你的env中使用CSV文件。我已经看到很多关于操作系统的问题,以及用32位或64位安装的MS Office版本。

但是更多的工作,你将全部设置创建一个小的SSIS包将CSV导入到表中。以所需的时间间隔使用SQL JOB执行该SSIS。稍后,如果您需要更复杂的插入/更新,您可以随时修改包。

答案 1 :(得分:0)

这是producer consumer problem的情况,其中一个进程正在写入数据而另一个正在读取数据。

无论你做什么,你都需要在这个文件上设置某种锁,该过程可以检查文件是否可用于读/写。如果导入/导出向导存在并发问题,则可能还有其他进程。

另一种选择是始终创建要写入的新文件,让读者进程始终从最新的文件中读取并在处理后将其删除。

您需要注意的另一件事是多次从同一个文件中读取。您需要某种方法来标记已经读取的记录,这样就不会插入两次。

如果需要完全自动化且无人值守的过程,则需要以上所有内容。

如果没有,您只需手动创建CSV文件的副本,然后使用导入/导出向导导入数据。

以下是您可以检出的将CSV导入SQL Server的其他资源

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/