Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis 行分隔符不能与列分隔符相同_Ssis_Etl_Delimiter_Flat File - Fatal编程技术网

Ssis 行分隔符不能与列分隔符相同

Ssis 行分隔符不能与列分隔符相同,ssis,etl,delimiter,flat-file,Ssis,Etl,Delimiter,Flat File,尝试在平面文件连接管理器编辑器中添加列并设置ColumnDelimiter时,出现以下错误: 行分隔符不能与列分隔符相同 如何指定分隔符?检查源文件,它可能没有您要添加的列 单击Browse,然后使用列重新加载文件 第二种解决方案: 在平面文件连接管理器编辑器的第一页上指定的格式只能用分隔符分隔 将格式更改为其他格式,而不是将其更改回“Delimited”,然后转到“Columns”部分,应该启用“Columns delimiter”下拉列表。假设您正在尝试从平面文件连接管理器的“Advanc

尝试在平面文件连接管理器编辑器中添加列并设置ColumnDelimiter时,出现以下错误:

行分隔符不能与列分隔符相同


如何指定分隔符?

检查源文件,它可能没有您要添加的列

单击Browse,然后使用列重新加载文件

第二种解决方案:

在平面文件连接管理器编辑器的第一页上指定的格式只能用分隔符分隔


将格式更改为其他格式,而不是将其更改回“Delimited”,然后转到“Columns”部分,应该启用“Columns delimiter”下拉列表。

假设您正在尝试从平面文件连接管理器的“Advanced”选项卡添加新列,必须注意的是,如果您设置了列分隔符,则每列的ColumnDelimiter属性为,但使用此属性设置行分隔符的最后一列除外

回到错误:

行分隔符不能与列分隔符相同

必须检查最后一列分隔符是否与前面的列不同


更新1-实验 我添加了一个新的平面文件连接管理器,在高级选项卡中我添加了两列,从下面的屏幕截图中,您可以检查第一列分隔符是
,而第二列分隔符是
{CR}{LF}

如果尝试将第二个分隔符更改为
,您将收到以下错误,并且无法更改属性:


是此错误很明显,请从平面文件连接管理器中选择行分隔符作为
{CR}{LF}
和列分隔符的任何高亮显示,您将不会收到错误

通常我们使用
{CR}{LF}
来读取行尾,请检查下面的
{CR}{LF}
定义

行尾字符包括
CR
LF
。Windows在一行末尾同时使用
{CR}{LF}
,而Unix只使用
LF

  • CR=回车
  • LF=线路馈电
请跟随快照并选择突出显示的分隔符作为列分隔符,以避免包中出现错误


请检查我的解决方案,让我知道它是否适合您。我同意这一点,但如果主要错误是当OP尝试添加列时,我尝试在平面文件连接管理器编辑器中添加列并设置列分隔符,正如他所说,他收到此错误,无法添加列并返回到其他选项卡,然后,此解决方案将无法解决此问题。如果您检查用于自动创建SSIS包的DTS程序集,您将看到从“列”选项卡更改分隔符将循环到每列,并以我在回答中描述的相同方式更改列分隔符我更新了回答以再现错误,您可以查看它以了解更多信息。这可以被视为一种解决方法,而无需更改整个平面文件的配置。我想知道您在第二个屏幕截图中选择列分隔符中的CRLF的原因吗?您能想象一个列分隔符为{CR}{LF}的平面文件吗。@a如我所述,最后一列的Columndelimiter属性是行分隔符