我正在寻找一个简单的解决方案(初学者到SQL),允许从我的.csv文件导入数据到我的SQL DB。
我有第三方程序每30秒更新一次.csv文件,我想将更新信息放入我的SQL DB。我试过导入&导出向导但由于其他第三方程序正在使用.csv文件而无法正常工作。
将信息输入SQL DB不需要实时,只需在打开已保存的SQL查询文件时检索所有信息。
谢谢!
答案 0 :(得分:0)
OPENROWSET是最简单的一个,如果你在你的env中使用CSV文件。我已经看到很多关于操作系统的问题,以及用32位或64位安装的MS Office版本。
但是更多的工作,你将全部设置创建一个小的SSIS包将CSV导入到表中。以所需的时间间隔使用SQL JOB执行该SSIS。稍后,如果您需要更复杂的插入/更新,您可以随时修改包。
答案 1 :(得分:0)
这是producer consumer problem的情况,其中一个进程正在写入数据而另一个正在读取数据。
无论你做什么,你都需要在这个文件上设置某种锁,该过程可以检查文件是否可用于读/写。如果导入/导出向导存在并发问题,则可能还有其他进程。
另一种选择是始终创建要写入的新文件,让读者进程始终从最新的文件中读取并在处理后将其删除。
您需要注意的另一件事是多次从同一个文件中读取。您需要某种方法来标记已经读取的记录,这样就不会插入两次。
如果需要完全自动化且无人值守的过程,则需要以上所有内容。
如果没有,您只需手动创建CSV文件的副本,然后使用导入/导出向导导入数据。
以下是您可以检出的将CSV导入SQL Server的其他资源