【问题标题】:How to import Text Delimited File to SQL Database?如何将文本分隔文件导入 SQL 数据库?
【发布时间】:2011-06-16 23:27:32
【问题描述】:

一般来说,我知道如何导入制表符分隔文件或逗号分隔文件。我的一位客户向我发送了分隔文件。您可以在下面看到示例。而且我不知道如何在没有引号的情况下导入它。

"Make","Model","ModelYear","Trim","BodyStyle","Mileage","EngineDescription","Cylinders","FuelType","Transmission"
"Dodge","Stealth","1993","ES","Hatchback","107000","V-6","6-Cylinder","Gasoline",""
"GMC","Envoy XL","2003","SLE","Sport Utility","116000","6cyl","6-Cylinder","Gasoline","Automatic"

您能否指导我如何导入以及我需要更改哪些设置才能使用导入向导导入它?

谢谢

【问题讨论】:

  • 当 '"' 字符嵌入到文本字段中而不是字段限定符的一部分时,就会出现大问题。导入时不容易处理。

标签: sql-server sql-server-2008 csv


【解决方案1】:

您需要将“文本限定符”设置为"。

【讨论】:

  • 这样的回答为我节省了很多时间。谢谢。
  • 这个向导在哪里?
【解决方案2】:

人们可能会说这有点古怪,但最简单的方法可能是在 excel 中将其打开为 CSV,然后使用 Management Studio 将其复制/粘贴到您的表格中。

如果您尝试做比这更有趣的事情,则此方法将行不通。如果没有,您将很难找到更快的方法。

【讨论】:

  • 我不知道你可以这样粘贴多行。这非常有用,谢谢!
  • 就我而言,该文件带有不同语言的文本。正在重新格式化英语通用字符集中未找到的所有字符,例如。 é > é。打开后把我的文件弄得一团糟
【解决方案3】:

如果数据非常简单,您可以使用 SSMS 导入向导。右键单击数据库,选择任务,选择导入数据,并指出将引号标识为文本限定符。

对于 csv、制表符分隔的文件,您可以将数据源选项更改为:平面文件源

从那里回答问题并按照提示操作。

不过,我会警告你。除非数据非常简单,否则这种方法往往会产生很多错误。我几乎总是最终使用SSIS,这有点麻烦和复杂,但更强大和更可靠。

【讨论】:

  • +1 尤其是对于“很多错误”的评论。使用 SSIS 仍然很容易出现很多错误,但至少当你手头有一个包时,你通常可以对它们做一些事情!
  • 我只是喜欢“猜测我的列类型”按钮。永远不会出错。 :)
猜你喜欢
  • 1970-01-01
  • 2018-07-23
  • 1970-01-01
  • 2017-03-25
  • 2020-03-26
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
相关资源
最近更新 更多