我正在使用SQL Server Integration Services 2008在数据库中放置一个布尔值,最初我使用的是DT_BOOL
(布尔值)的SSIS类型。
但是,在数据库中,布尔值存储为tinyint
字段(出于遗留原因)。布尔值TRUE
将作为255
(所有位开启)保存在数据库中,而不是更传统的值1.
有没有办法强制DT_BOOL
的{{1}}值映射到1而不是255?或者我是否需要将SQL字段更改为TRUE
,或使用像bit
这样的数字SSIS类型?
答案 0 :(得分:3)
那么你可以在你的SSIS包中添加一个进一步的转换任务,将DT_BOOL值TRUE转换为1,并将SQLIS数据类型tinyint的SSIS quuivalent转换为,但这当然会为你的处理增加一个额外的步骤。
如果这确实是您的选择,那么在我看来,将数据库数据类型修改为更合适的位数据类型会好得多。