Hasbyte函数返回空值

时间:2018-10-15 15:04:52

标签: sql ssis

我正尝试通过OLE DB源在SSIS中提取数据,我正在使用的查询具有哈希字节函数,该函数在SSMS中按预期返回哈希字节。但是在SSIS中,我得到的返回值为NULL。

功能如下;

SELECT HASHBYTES('MD5','AA12BC') AS ColA

在SSIS中,如果我单击“预览”,则会返回以下内容

System.Byte []

写入表时返回NULL。

1 个答案:

答案 0 :(得分:0)

即使您正在查看数据预览,但如果执行以下步骤,则在插入目标表时也应使用正确的数据格式,且没有意外的空值:

  • 将数据转换为varbinary,即SELECT CAST(HASHBYTES('MD5','AA12BC') as VARBINARY) AS ColA
  • 在目标组件上将ValidateExternalMetadata设置为false。
  • 确保此列的源和目标长度均相同,并且两个组件上的数据类型均为DT_BTYES(在“高级编辑器”页面上的“输入和输出属性”窗格中)。这也适用于在执行过程中使用该列的任何转换。