【问题标题】:How to import data from CSV into a SQL Server 2008 table?如何将数据从 CSV 导入 SQL Server 2008 表?
【发布时间】:2017-01-16 21:21:30
【问题描述】:

我有一个包含数百万条记录的文件,如下所示:

20 Apr 2016 21:50:01,022      - username,,ResetGUI,Account,finished,8182819710127A590BAF3E5DFD9AE8B0.tomcat32,7

20 Apr 2016 21:50:01,516      - username,12345678,loadaccount,AccountAdmin,Starts,40A5D891F145C785CD03596AAD07209F.tomcat32,

我想自动将数据导入表格。

我不确定它是如何工作的?

请指教!

【问题讨论】:

  • 使用sql server导入导出向导
  • 最后一次编辑让换行符消失了......在你最初的问题中,日期和时间在它自己的行中。我会开始用逗号替换连字符和换行符。此操作后应该有一个干净的逗号分隔导入...

标签: sql-server database sql-server-2008 import


【解决方案1】:

如果是一次性数据加载,您可以使用 SQL Server 导入导出向导。

在 Management Studio 中右键单击您的数据库 -> 任务 -> 导入数据

向导将引导您选择要导入的数据库和数据源(其他数据库或平面文件)。

【讨论】:

    【解决方案2】:

    确保首先创建 csvtest 表。首先将所有列设为 varchar(200) 以测试导入

    如果你能给我列名,我会为你构建一个创建表脚本。我只需要知道你的表名。列名称和数据类型(来自源)。

    如果您打算定期导入此文件过程可以...

    1. 如果表存在则截断它。

    2. 如果表不存在,则创建一个。

    3. 将 csv 批量加载到新表中

    无论如何这里是如何从 csv 导入现有表

    BULK
    INSERT CSVTest
    FROM 'c:\csvtest.txt'
    WITH
    (
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n'
    )
    GO
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 2013-02-01
      相关资源
      最近更新 更多