【问题标题】:Importing a CSV file without headers into SQL 2008将不带标题的 CSV 文件导入 SQL 2008
【发布时间】:2011-02-20 02:37:30
【问题描述】:

我想将具有 4,8M 记录的 CSV 导入 SQL 2008 表。我正在尝试使用 Management Studio 向导执行此操作,但它一直在尝试识别 CSV 没有的标题行。我没有找到任何跳过此选项的选项,尽管我自己指定了列,但向导仍会尝试查找标题行并且没有它不会导入任何内容。

CSV的结构是

"818180","25529","Dario","Pereyra","Rosario","SF","2010-09-02"

我也尝试过像 BULK INSERT 这样的替代方法,但后来我发现使用 BULK INSERT 我无法导入带有文本限定符的文件。

【问题讨论】:

  • 不确定这与编程有何关系...

标签: sql-server csv import header


【解决方案1】:

一次性导入最简单的方法肯定是 SQL Server Management Studio 中的“导入数据”功能。这将启动一个向导,并允许您定义要从何处导入数据 - 选择“平面文件源”。下一个对话框允许您浏览要导入的文件,并且您可以在该对话框中指定各种内容(例如文件的编码、文本限定符是什么 - 如果有的话 - 等等。

您还可以选择跳过任意数量的行(例如“跳过前 5 行”),或者您可以选择第一行有列名。

如果您的文件在第一行中没有列名,请取消选中该选项。

如果您需要一次又一次地执行此导入,您可以将有关导入的所有信息保存为 SQL Server 中的 Integration Services 包(或外部 SSIS 文件),然后您可以再次运行该导入并再次从 SQL Server 代理“作业”菜单(启用 SQL Server 代理,如果您还没有,并找到“作业”子项 - 您应该在那里看到所有作业,您可以从该菜单再次启动它们)。

如果您愿意,您还可以从您的 C# 或 VB.NET 代码启动这些 SSIS 包 - 请查看此 CodeProject article 或查看 Michael Entin's blog post 的主题。

【讨论】:

    【解决方案2】:

    取消选中“第一行有列名”

    http://epicenter.geobytes.com/images/MsSqlI006.gif

    【讨论】:

    • 这是通过 SQL Server 2000 中的企业管理器进行的 DTS。问题是 SQL Server 2008... 向导在其中生成一个 SSIS 包
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多