C# 无法强制转换类型为';Microsoft.SqlServer.Dts.Pipeline.BlobColumn';输入';字节[]和#x27;

C# 无法强制转换类型为';Microsoft.SqlServer.Dts.Pipeline.BlobColumn';输入';字节[]和#x27;,c#,sql-server,asp.net-mvc,C#,Sql Server,Asp.net Mvc,我有一个脚本,它从一个SQL数组中获取一个文件(通常是图像或pdf),如果需要,将其解压缩,然后将其内容复制到另一个单元格。但是,由于我不理解的原因,该程序在某些未压缩文件中失败,错误为:无法将类型为“Microsoft.SqlServer.Dts.Pipeline.BlobColumn”的对象强制转换为类型为“System.Byte[]”。 public override void Input0_ProcessInputRow(Input0Buffer Row) { if (Row.b

我有一个脚本,它从一个SQL数组中获取一个文件(通常是图像或pdf),如果需要,将其解压缩,然后将其内容复制到另一个单元格。但是,由于我不理解的原因,该程序在某些未压缩文件中失败,错误为:
无法将类型为“Microsoft.SqlServer.Dts.Pipeline.BlobColumn”的对象强制转换为类型为“System.Byte[]”。

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    if (Row.bitCompressed)
    {

        byte[] inputData = Row.imgFileContent.GetBlobData(0, (int)Row.imgFileContent.Length);
        Row.FileImageOut.AddBlobData(Decompress(inputData));

    }
    else
    {

        Row.FileImageOut = Row.imgFileContent; <--- ERROR
    }
}
public override void Input0\u ProcessInputRow(Input0Buffer行)
{
if(行位压缩)
{
字节[]inputData=Row.imgFileContent.GetBlobData(0,(int)Row.imgFileContent.Length);
Row.FileImageOut.AddBlobData(解压缩(inputData));
}
其他的
{

Row.FileImageOut=Row.imgFileContent;将我的
else
代码更改为这一行似乎有效,但它似乎效率很低。首先,我将blob数据获取到字节数组中,然后将该数组放入add blob data中。我有时无法简单地分配这些值(因为它有时会中断),这一事实对我来说似乎是一个bug

else
    {
        byte[] copyData = Row.imgFileContent.GetBlobData(0, checked((Int32)Row.imgFileContent.Length));
        Row.FileImageOut.AddBlobData(copyData, checked((Int32)Row.imgFileContent.Length));
    }