gpt4 book ai didi

sql-server - 用于处理多列中的 NULL 的 SSIS 表达式

转载 作者:行者123 更新时间:2023-12-04 01:16:23 25 4
gpt4 key购买 nike

我有一个包含一些空值的 OLE DB 源,它有 50 列,我正在尝试将包含 NULLs 的行提取到 Bad data destination,即我对条件表达式的表达式 split 是

ISNULL([StudentName]) == TRUE

但这意味着我必须对所有的列重复它,我想知道是否有另一种方法来处理这个问题。特别是因为我有多个表要处理。谢谢

最佳答案

信不信由你,自从你发布以来,这一直让我感到困惑。

我还没有想出一种方法来实现 SSIS,但这里有一个使用脚本组件源的可能解决方案。这将找到与至少有一个空列的行关联的所有键。

    DataTable dt = new DataTable();

string sql = "Enter your extract SQL here";
using(OleDbConnection conn = new OleDbConnection("Data Source=XXXXXXXXX;Initial Catalog=YYYYY;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"))
{
using (OleDbCommand cmd = new OleDbCommand(sql,conn))
{
cmd.CommandType = CommandType.Text;
conn.Open();
dt.Load(cmd.ExecuteReader());
}
}

foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
if (row[col] == DBNull.Value)
{
Output0Buffer.AddRow();
Output0Buffer.NullRowKey = row.Field<int>(0); //This is the 0 based index of the key in the data
break;
}
}
}

我遇到的问题是尝试在 Output0Buffer 数据类型中使用列,这是在使用转换的脚本组件时必须使用的数据类型。我需要实际使用脚本组件源并将数据加载到数据表中,以便访问 Columns 属性。

关于sql-server - 用于处理多列中的 NULL 的 SSIS 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63288646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com