导出到 CSV 文件时,="XXXX" 中的等于运算符在 SSIS 派生列中执行什么操作

What does equal to operator in ="XXXX" do in SSIS derived column when exporting into CSV file

我收到了一个由其他人构建的 SSIS 包。在从 oledb 数据源获取数据并将其放入 csv 文件的控件之一中。它们是 oledb 数据源任务和平面文件目标任务之间的派生列。

派生数据流任务创建了一些新列,其中一些表达式具有等号。

然后将这些列重定向到 CSV 文件。另一个数据流任务再次读取此文件,该任务读取此创建的 CSV 文件。如果我从派生列中删除 = 符号,它会在读取平面文件时出现错误。

[Flat File Source 2] Error: The column delimiter for column "CompanyCode" was not found.

公司代码栏数据类型为varchar。

我的问题:

派生列任务中的=号是做什么用的?

您提供的错误信息

[Flat File Source 2] Error: The column delimiter for column "CompanyCode" was not found.

显示它与派生列转换无关,它由 [Flat File Source 2] 抛出,当使用的平面文件与 Flat File Connection manager 中使用的设置不匹配时发生,检查此文件不包含结构损坏的行。

关于等号 (=)(如@TabAlleman 所说)

等号是表达式中的字符串文字。

等号是表达式中的字符串文字。

如果您的数据有一行 CompanyCode 的值为

ABC

然后派生列 CompanyCodeWithZero 将包含

="ABC"

我无法推测为什么删除等号会导致您收到错误,因为它似乎来自您的问题中未描述的包的其他部分(平面文件源 2)。