删除 SSIS 平面文件中的换行符
Remove NEWLINE character in a SSIS Flat File
有没有办法在 SSIS 中从平面文件中删除换行符??...无需脚本任务。
CONTEXT:我需要将平面文件的所有内容作为单个字符串值发送。
如果您可以访问某些 SQL 数据库,您可以尝试将平面文件的数据导出到该数据库中的 SQL table。数据将加载到 SQL 中的多行中。然后您需要做的就是连接所有行的数据。
TABLE 结构
DataRow
----
This
is a
really
good way.
代码作为 SQL 语句
DECLARE @Data VARCHAR(MAX)
SELECT @Data = COALESCE(@Data + '', '') + DataRow
FROM YourTable
WHERE ISNULL(DataRow, '') <> ''
SELECT @Data
然后你可以在 Execute SQL Task
中包含上面的 SQL 语句,并将输出结果集映射到某个字符串变量上,可以根据你的意愿使用。
我选择编写一个简单的方法来读取整个文件并将其写入单个字符串变量,这实际上是一个 DTS 变量:
public String getFileData(FileInfo file)
{
string text = System.IO.File.ReadAllText(@file.FullName);
return text;
}
在 sql 查询中使用此表达式来查找具有换行符的列
select
RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ColumnWithNewLineChar,CHAR(9),''), CHAR(10),''),CHAR(13),''))) 作为来自 table
制表符,字符 (9)。换行,字符 (10)。回车 return, char(13)
上面的表达式removes/replace换行字符
有没有办法在 SSIS 中从平面文件中删除换行符??...无需脚本任务。
CONTEXT:我需要将平面文件的所有内容作为单个字符串值发送。
如果您可以访问某些 SQL 数据库,您可以尝试将平面文件的数据导出到该数据库中的 SQL table。数据将加载到 SQL 中的多行中。然后您需要做的就是连接所有行的数据。
TABLE 结构
DataRow
----
This
is a
really
good way.
代码作为 SQL 语句
DECLARE @Data VARCHAR(MAX)
SELECT @Data = COALESCE(@Data + '', '') + DataRow
FROM YourTable
WHERE ISNULL(DataRow, '') <> ''
SELECT @Data
然后你可以在 Execute SQL Task
中包含上面的 SQL 语句,并将输出结果集映射到某个字符串变量上,可以根据你的意愿使用。
我选择编写一个简单的方法来读取整个文件并将其写入单个字符串变量,这实际上是一个 DTS 变量:
public String getFileData(FileInfo file)
{
string text = System.IO.File.ReadAllText(@file.FullName);
return text;
}
在 sql 查询中使用此表达式来查找具有换行符的列
select RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ColumnWithNewLineChar,CHAR(9),''), CHAR(10),''),CHAR(13),''))) 作为来自 table
制表符,字符 (9)。换行,字符 (10)。回车 return, char(13)
上面的表达式removes/replace换行字符