sql - Hasbyte 函数返回一个空值
问题描述
我正在尝试通过 OLE DB 源在 SSIS 中提取数据,我正在使用的查询有一个 hashbyte 函数,它在 SSMS 中按预期返回了 hashbyte。但是在 SSIS 中,我返回 NULL 值。
功能如下;
SELECT HASHBYTES('MD5','AA12BC') AS ColA
在 SSIS 中,如果我单击预览,则会返回以下内容
系统字节[]
当写入表时,返回 NULL。
解决方案
即使使用您看到的数据预览,如果采取以下步骤,在插入目标表时仍应应用正确的数据格式,并且不会出现意外空值:
- 将数据转换为 varbinary,即
SELECT CAST(HASHBYTES('MD5','AA12BC') as VARBINARY) AS ColA
- 在目标组件上设置
ValidateExternalMetadata
为 false。 - 确保该列的源和目标具有相同的长度,并且数据类型
DT_BTYES
在两个组件上(在“高级编辑器”页面的“输入和输出属性”窗格中)。这也适用于在执行期间使用该列的任何转换。
推荐阅读
- excel - 比较两列高亮单元格并显示单元格地址
- python - 使用 LSTM 自动编码器的一次一次值异常检测模型:可能吗?
- python - Python selenium通过xpath点击元素不起作用
- php - Bangla 字体无法在 mpdf 中正确显示
- flutter - 如何在颤动中使用 dio 在标头中传递访问令牌
- gitlab-ci - 我可以使用几个“连续”构建模板吗?
- javascript - 如何在Angular 7中通过css打印页码
- reactjs - 我想将标签作为超链接
- mysql - 错误代码:1136。不知道为什么我会收到此错误
- python - regplot 返回的 bin 数据在每次运行时略有变化