我在 SSIS 中有一个包,它使用 essbase 多维数据集中的 adomd.Net 加载数据。使用 2 列包可以正常工作,但是当我添加 3. 列包时失败。
错误信息说:
你调用的对象是空的。
第一行的第三列包含null和其他行中的一些值。
问题在 3. 列中的空值中查找。我尝试了这个 if 语句,但我得到的是空列而不是值。
AdomdDataReader reader = null;
try
{
using (AdomdConnection conn = new AdomdConnection(connectionString))
{
conn.Open();
using (AdomdCommand cmd = new AdomdCommand(query, conn))
{
reader = cmd.ExecuteReader();
while (reader.Read())
{
Output0Buffer.AddRow();
Output0Buffer.Column = (reader.GetString(0));
Output0Buffer.Column1 = (reader.GetString(1));
if (!reader.IsDBNull(2))
{
Output0Buffer.Column2 = "test";
}
else
{
Output0Buffer.Column2 = (reader.GetString(2));
}
Console.WriteLine("fin");
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
throw;
}