【发布时间】:2016-09-22 03:04:09
【问题描述】:
输入示例:
第1栏第2栏第3栏第4栏第5栏
EE12 2014-05-17 22:05:36.260 2 3 12345678901234567890123456789123456789457908
输出应该是什么样子:
第1栏第2栏第3栏第4栏第5栏
EE12 2014-05-17 22:05:36.260 2 3 1234
EE12 2014-05-17 22:05:36.260 2 3 5678
对于长文本的第 5 列,我需要将长文本分成 4 个字符。最长数据长度为 10800。对于第 1 到第 4 列将保持不变。每 4 个字符,将记录一个新行。
我正在使用 SSIS 脚本组件来执行此操作。我需要 C# 编码方面的帮助来分离长文本并写入数据库。
我用来将字符分成4个字符的方法
public class ScriptMain : UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
//Regax method to seperated the text into 4 characters each
var input = Row.value.ToString();
var regex = new Regex(@".{4}");
string result = regex.Replace(input, "$&" + Environment.NewLine);
}
}
【问题讨论】:
-
@MJH 我尝试使用派生列和条件拆分。但是,它不起作用。
-
请贴出您尝试过的代码,并说明 如何 不起作用。否则我怀疑你会收到很多有用的回复。
-
使用异步脚本组件,您将能够读取每一行并根据需要操作输出。 Link to reference
-
一个基本问题....您尝试处理的数据是在数据库中还是在 C# 中的 DataTable 中?如果它在数据库中,您只能获取 4 个字符并对其进行处理。但如果它是在 C# 中,则有很多可用的选项。请说明您需要什么。
标签: c# visual-studio ssis