Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SSIS中将SQL Server类型varbinary强制转换为整数?_Ssis_Types_Type Conversion - Fatal编程技术网

如何在SSIS中将SQL Server类型varbinary强制转换为整数?

如何在SSIS中将SQL Server类型varbinary强制转换为整数?,ssis,types,type-conversion,Ssis,Types,Type Conversion,我需要在转换中使用二进制数据作为整数并进行一些操作,但是如何进行转换呢?我尝试了许多SSIS数据类型,但没有成功。顺便说一下,我不想使用脚本任务 [下文更新部分] 数据是存储在CDC函数fn_CDC_get_net_changes的_u$update_mask列中的值。以下是我在SSIS中尝试的演员阵容 (__$operation == 4) && (((DT_I8)__$update_mask & @[User::SCDColumnNumber]) > 0) 相

我需要在转换中使用二进制数据作为整数并进行一些操作,但是如何进行转换呢?我尝试了许多SSIS数据类型,但没有成功。顺便说一下,我不想使用脚本任务

[下文更新部分]

数据是存储在CDC函数fn_CDC_get_net_changes的_u$update_mask列中的值。以下是我在SSIS中尝试的演员阵容

(__$operation == 4) && (((DT_I8)__$update_mask & @[User::SCDColumnNumber]) > 0)
相应的TSQL代码将是

SELECT 
CASE WHEN (CAST(__$update_mask as int) & 16)>0 THEN 1 ELSE 0 END ScdType2,
CAST(__$update_mask as int) Change,
* FROM 
cdc.fn_cdc_get_net_changes_dbo_Transactions
(sys.fn_cdc_get_min_lsn('dbo_Transactions')
,sys.fn_cdc_get_max_lsn(),'all with mask')

这很好用。但SSIS演员阵容并非如此。希望这能提供有关我的查询的足够信息。

更新掩码列的类型为varbinary,长度为128字节。由于转换目标大小分别为4字节和8字节,因此无法在不丢失信息的情况下将其转换为INT或BIGINT。虽然我只想考虑128字节的前8字节。但同样,我在SSI中找不到任何支持的数据类型或强制转换可以完成这项工作。尽管这可以在DB引擎中完成,并在稍后提交给SSIS。

症状是什么?你说它不起作用是什么意思?我尝试过的大多数SSIS数据类型的强制转换都失败了。