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