如何在SSIS

时间:2016-02-29 15:15:45

标签: c# sql-server ssis

所以我的SSIS Script名为Data的列中有一列BlobColumn

我想将此列分配给string值。

我执行以下操作:

Row.Data = "MyString";

但是我收到以下错误:

  

无法隐式转换类型'string'   Microsoft.SqlServer.Dts.Pipeline.BlobColumn

那么如何将BlobColumn分配给String值?

2 个答案:

答案 0 :(得分:5)

使用Converting a string to byte-array without using an encoding (byte-by-byte)

提供的答案

我做了以下事情:

Row.Data.AddBlobData(GetBytes("MyString"));

其中:

byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}

答案 1 :(得分:0)

首先,您必须决定使用哪种编码对字符串进行编码。 如果你不在乎,我建议使用:

  • Little Endian UTF-16的性能,因为.NET字符串存储在该编码中

    System.Text.Encoding.Unicode.GetBytes("MyString");
    
  • UTF-8用于存储

    System.Text.Encoding.UTF8.GetBytes("MyString");
    

请在此处阅读有关编码的更多信息:Character Encoding in .NET

您应使用提供的答案here。 阅读那里的整个讨论,了解原因。答案是针对一个非常具体的用例和一些有教育意义的用例。