我对SSIS相当陌生,任何帮助将不胜感激!
我需要导入一个逗号分隔的文本文件。文件中的行具有不同的布局。第一列的值指定布局。
例如:
布局 1:姓名、姓氏、年龄、身份证
布局2:身份证、工资
所以列名和数据类型完全不同。
有没有办法在不使用 SSIS 中的脚本任务的情况下导入这样的文件?
我对SSIS相当陌生,任何帮助将不胜感激!
我需要导入一个逗号分隔的文本文件。文件中的行具有不同的布局。第一列的值指定布局。
例如:
布局 1:姓名、姓氏、年龄、身份证
布局2:身份证、工资
所以列名和数据类型完全不同。
有没有办法在不使用 SSIS 中的脚本任务的情况下导入这样的文件?
您可以使用来自 SSIS 工具箱/其他源的平面文件源。检查 https://docs.microsoft.com/en-us/sql/integration-services/connection-manager/flat-file-connection-manager以获取更多信息 脚本任务是唯一的解决方案,因为您必须构建逻辑。
public override void CreateNewOutputRows()
{
// Create the StreamReader object to read the input file
System.IO.StreamReader reader = new System.IO.StreamReader(this.Variables.vInputFilename);
// Loop through the file to read each line
while (!reader.EndOfStream)
{
// Read one line
string line = reader.ReadLine();
// Break the file apart into atomic elements
string[] items = line.Split('|');
/*
Each line should match one of three record types. When matched to
the correct type, a new row in that output will be created and the
columns from the file will be written to the appropriate output cols
*/
// Record type 1 is Manager
if (items[0] == "Layout 1")
{
OutputBuffer0.AddRow();
}
// Layout 2
else if (items[0] == "Layout 2")
{
OutputBuffer1.AddRow();
}
}
}
然后根据输出连接相关表。让我知道它是否有效:)