【问题标题】:Automatically import data into SQL Server自动将数据导入 SQL Server
【发布时间】:2017-11-13 21:23:31
【问题描述】:

我正在尝试将数据从 .CSV 文件自动导入 SQL Server。例如,如果我在一个文件夹中有一组 .CSV 文件,我希望这些 .CSV 文件中的数据自动导入到 SQL Server 中,每次我向该文件夹中添加一个新的 .CSV 文件时。

【问题讨论】:

标签: sql sql-server csv


【解决方案1】:

如果您希望它真正实现自动化,则需要超越 SQL。否则,调度从 csv 到数据库的加载将需要一个简单的 SSIS 包。然后,您可以使用 SQL Server Agent 安排工作,每天、每周、每小时等导入数据。

【讨论】:

  • 您能否更详细地解释一下如何安排从 CSV 到我的数据库的加载?我以前没有使用过 SSIS 包,那我需要做什么?提前谢谢你。
  • SSIS 还不错。获取 Visual Studio visualstudio.com/downloads 的社区版,并确保下载 SQL Server Data Tools。您需要创建一个集成包。设置连接将是最棘手的部分,但也不错。您的源将是一个平面文件。您的目标将是您的 SQL Server 表。如果您不是数据库的管理员,您可能无法看到 SQL Server 代理。快速教程youtube.com/watch?v=b25r0jDseOQ
【解决方案2】:

已编辑!!这是 PHP 的

$filenames = glob($_SERVER['DOCUMENT_ROOT'] .'/filespath/*');
foreach($filenames as $filename){ // iterate files
    if(!file_exists($filename) || substr($filename,-3) == 'csv') continue;
    $file = fopen($filename, "r");
    $csv = array();
    while (($line = fgetcsv($file)) !== FALSE) {
      //$line is an array of the csv elements
      $csv[] = $line;
    }
    fclose($file);
    foreach ($csv as $key => $value) {
      //put your code here to work with $csv array.
    }
}

您可以使用此代码来获得您想要的东西。您还需要 cron 来自动化您的代码。您可以在主机 cpanel 中获取它。

【讨论】:

  • 我仍然对如何做到这一点感到困惑?那么上面的代码是我应该运行的脚本吗?
  • 第一行是从您指定的文件夹中获取所有文件。在我们为每个文件创建一个循环之后,如果正在检查文件是否存在,并且它必须具有 csv 扩展名。如果没有,则跳过此文件。如果是,请转到下一行。然后创建 $csv 数组以添加您的 file.csv 行。结果你有 $csv 数组。
猜你喜欢
  • 1970-01-01
  • 2013-12-21
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
  • 2010-09-22
  • 2015-01-02
  • 2011-09-06
相关资源
最近更新 更多