如何自动更新SQL数据库

时间:2017-07-06 20:33:42

标签: sql sqlite automation

所以我和一位希望我创建一个包含来自csv文件(来自纽约市交通局)信息的SQL数据库的教授合作。我编写了一个程序,它接受csv文件并将其转换为适当的sql命令。所以我的问题是,我如何自动化数据库,以便每5分钟左右一个程序下载新的csv文件,通过我的csv-to-SQL命令程序运行它,然后从我的csv-to-SQL输入输出命令程序进入终端(我用什么来连接我的SQL数据库)?我应该研究一种特定的语言吗?我看过人们谈论过cron吗?

3 个答案:

答案 0 :(得分:2)

cron是在Unix下进行计划任务的参考; Windows等效项是设置一个使用任务计划程序运行的任务。

我不知道你的问题有一个纯粹的SQL答案 - 可能我接近它的方式是用你选择的语言写一个简单的导入程序,编译它下到.EXE,然后设置Task Scheduler命令每5分钟运行一次程序。 (或者,您可以一直保留应用程序,只需让计时器每5分钟执行一次即可触发导入。)

答案 1 :(得分:0)

你能做的最简单的事情是循环你的脚本。

如果您正在运行PHP,您可以执行以下操作:

$running = true;
while ($running)
{
    // Your code that gets and converts CSV
    // and then saves it in SQL.

    $running = $some_error ? false : true;
    sleep(5000);
}

我不知道你在使用什么,但要注意逻辑,而不是语言。

答案 2 :(得分:0)

您可以使用Sql Server Integration Services(SSIS)。它基本上是一个内置在Sql中的工作流程序包,可以让你处理这样的任务。您应该能够将CSV导入临时表,然后针对它运行适当的查询。

这是特定于Azure的,但针对托管SQL的工作应该类似。 https://docs.microsoft.com/en-us/sql/integration-services/import-export-data/import-data-from-excel-to-sql