带有多个终止符的批量插入

时间:2018-07-13 18:12:55

标签: sql sql-server text

我有一个 .txt 文件,其中包含很多信息,我需要每行保存该数据。然后,我在SQL SERVER中使用了批量插入,因此,如果我所有的数据都由单个字符分隔,但我拥有的文件由不同的字符分隔,则可以理解,可以使用属性 fieldterminator ,多个空格,一些零,加号和减号。我想知道是否有任何方法可以使用多个fieldterminator或类似的东西来让我用多个字符分隔字符串。

truncate table testtxt


bulk insert testtxt
from 'C:\x\xx\xxx\Desktop\myfolder\myfile.txt'
with(
  DATAFILETYPE = 'char',
  fieldterminator = '                          ',
  rowterminator = '0x0a'
)

select * from testtxt

我进入文件的每一行都是这样的:

  

65505155686 0106201822250981CGO TRANS ELEC -000000001876300000001031669100843460CLAUSULA 24 05INX05

这时我得到这样的信息:

enter image description here

如果我添加更多行,则第一行和最后一行之间的行将显示为空。换句话说,它仅将每行分为2个部分。

1 个答案:

答案 0 :(得分:1)

您最灵活的解决方案是创建一个使用脚本组件作为数据源的SSIS包。

您可以一次读取一行文件,并对要发送到数据流的每一列应用特定的逻辑定义。

相关问题