SQL配列からファイル(通常はimageまたはpdf)を取得するスクリプトがあります。必要に応じて解凍し、その内容を別のセルにコピーします。しかし、私が理解していない理由のため、プログラムは圧縮されていないファイルではエラー:Unable to cast object of type 'Microsoft.SqlServer.Dts.Pipeline.BlobColumn' to type 'System.Byte[]'.
で失敗します。'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
}
}
Row.FilmeImageOur
Row.imgFileContent
をMicrosoft.SqlServer.Dts.Pipeline.BlobColumn Input0Buffer.imgFileContent
であるMicrosoft.SqlServer.Dts.Pipeline.BlobColumn Input0Buffer.FileImageOut
あります。
解決策を探すときに私はthisを見つけましたが、私はこの人の解を本当に理解していません。 =
の代わりにaddBlobData
を使用しようとしましたが、BLOBデータの代わりにbyte
の入力が必要です。私は、BLOBデータをBLOBデータに割り当てることを可能にする関数を見つけることができないようですか?