DAT文件导入到SQL Server

时间:2019-04-30 15:35:05

标签: ssis delimiter sql-import-wizard

我的文件带有“ |”作为文本限定符和col分隔符为',但它们不是行分隔符。如何处理。

数据示例

|1|,|4616002.000000|,|firstname1|,|lastname1|,||,|19341009000000|,|Female|,|HP|,|20090123160644|,|733.01|,|Osteoporosis, Postmenopausal.|,|ICD-9-CM|,||,||,||,||,|Confirmed|,|Active|,|20090123160632|,||,||,||,||,||,||,||,||,|Medical|,||

|2|,|4616002.000000|,|firstname2|,|lastname2|,||,|19341009000000|,|Female|,|HP|,|20090123160652|,|530.81|,|GERD [Gastroesophageal reflux disease]|,|ICD-9-CM|,||,||,||,||,|Confirmed|,|Active|,|20090123160644|,||,||,||,||,||,||,||,||,|Medical|,||

1 个答案:

答案 0 :(得分:2)

下面将进一步概述此过程。如所示,请确保确认选择了适当的数据类型,并且源数据符合它们。我不能确切地说不知道您要尝试将记录导入为哪种数据类型,但是您收到的错误可能与数据转换有关,我建议您检查所有其他错误消息并验证正确的数据类型和长度用于每一列。

  • 在控制流上添加数据流任务,并在其中创建平面文件源组件。打开“平面文件”源,然后按“新建”按钮以使用示例数据文件定义平面文件连接管理器。在“常规”页面(第一个屏幕截图)上,选择“定界”格式,然后选择|作为“文本限定符”。除非有标题,否则请取消选中Column Names in the First Data Row复选框。
  • 在“列”选项卡(第二张屏幕截图)上,选择回车换行符({CR}{LF})作为行定界符。换行指的是移至下一条垂直线,而回车键会将光标置于水平线的开头,例如在Windows上按Enter键时。还要选择一个逗号(,)作为列定界符。
  • “高级”窗格上的“下一步”为每列赋予适当的名称,数据类型和长度。有关将SQL Server(和其他RDBMS)数据类型与SSIS使用的数据类型进行匹配的具体详细信息,请参见documentation中的映射表。
  • 您还需要确认将列发送到适当数据类型的列,这可以在数据流任务中的目标组件编辑器上完成。

常规页面enter image description here

列页面: enter image description here