SSIS:处理数据流任务中的1/0字段

时间:2016-11-15 16:57:45

标签: sql-server ssis

我正在SSIS包中构建数据流任务,从OLE DB源(MS Access表)中提取数据,通过数据转换转换转换数据类型,然后将数据路由到OLE DB目标(SQL Server)表)。

我在目标表中有多个用于标志变量的BIT列,并且在将这些1/0列转换为(DT_BYTES,1)时遇到截断问题。从DT_WSTR和DT_I4转换为(DT_BYTES,1)会导致相同的截断,并且我已经验证它是通过数据查看器在该步骤中发生的。

看来我需要创建一个派生列,类似于下面链接的问题的答案中所描述的,但是我不需要转换为DT_BOOL,而是转换为(DT_BYTES,1),从DT_BOOL转换为DT_BYTES显然是非法的?

SSIS Converting a char to a boolean/bit

我已经多次尝试使用下面的逻辑变体创建派生列,但没有任何运气。我猜我需要在表达式的“1:0”部分使用Hex文字,但我无法找到有效的语法:

(DT_BYTES,1)([Variable_Name] == (DT_I4)1 ? 1 : 0)

我接近这个错误吗?我不能成为第一个需要将BIT数据插入SQL Server表的人,上面的过程对我来说似乎不必要的复杂。

0 个答案:

没有答案