1

如何将 CSV 文件数据导入 SQL Server 2000 表?我需要每天两次将数据从 CSV 文件插入到表中。表有超过 20 个字段,但我只需要将值插入 6 个字段。

4

5 回答 5

1

在我建议从这里开始阅读之前,我遇到了同样的问题。作者介绍:“这是最近很常见的请求——如何将 CSV 文件导入 SQL Server?如何将 CSV 文件加载到 SQL Server 数据库表中?如何将逗号分隔的文件加载到 SQL Server 中?让我们快速查看解决方案。”

于 2010-04-30T07:41:58.777 回答
1

我需要每天两次将数据从 CSV 文件插入到表中。

使用 DTS 执行导入,然后安排它。

于 2010-04-30T10:57:44.970 回答
1

对于 SQL 2000,我会使用 DTS。然后,当您对它感到满意时,您可以将其作为一项工作。下面是一个很好的 Microsoft 链接,解释了如何使用它。

数据转换服务 (DTS)

于 2010-04-30T11:00:13.227 回答
0

您描述了两个不同的问题:

  1. CSV 导入,以及
  2. 仅将数据提取到这 6 个字段中。

因此,将您的解决方案分为两个步骤:

  1. 将 CSV 导入原始暂存表,然后
  2. 然后从该临时表中插入您的六个“实时”字段。

第一部分有一个函数,称为BULK INSERT,语法如下所示:

BULK INSERT target_staging_table_in_database
FROM 'C:\Path_to\CSV_file.csv'
WITH
(
    DATAFILETYPE = 'CHAR'
    ,FIRSTROW = 2
    ,FIELDTERMINATOR = ','
    ,ROWTERMINATOR = '\n'
);

调整口味,并查阅文档以获取更多选项。在进行批量插入之前,您可能还想TRUNCATEDELETE FROM您的临时表,这样您就没有任何旧数据。

将信息输入数据库后,对这六个字段进行UPDATEor操作INSERT应该很简单。

于 2010-04-30T08:16:07.940 回答
0

您可以使用 SQL Server 集成服务 ( SSIS )。创建包是一次性的任务。下次只需运行该软件包即可。

您也可以按照丹尼尔的解释尝试批量插入。

您也可以在 SQL Server 2000 中尝试导入导出向导。

于 2010-04-30T10:41:46.873 回答