2009-08-19 78 views
4

我使用SQL Server集成服务2008年投入一定的布尔值在数据库中,和我原来使用的SSIS类型的DT_BOOL(布尔)。TRUE的DT_BOOL值在tinyint字段中映射到255。为什么不是1?

然而,在数据库中,该布尔值被存储为tinyint字段(用于遗留原因)。的TRUE一个布尔值将被保存在数据库中255(在所有位),而不是1

比较传统的价值有没有什么办法来强制TRUE一个DT_BOOL值映射到1,而不是255 ?或者我需要在SQL字段更改为bit,或使用数字SSIS型样DT_UI1

回答

3

那么您可以在SSIS包中添加进一步的转换任务,将DT_BOOL值TRUE更改为1,并将SQL Server数据类型tinyint的SSIS当量转换,但这当然会为您的处理增加额外的步骤。

你会好得多修改数据库的数据类型,在我看来,更appoprriate位数据类型,如果这确实是一个选择你。

+2

现在,我结束了使用DT_I4代替DT_BOOL – 2009-08-19 21:48:24

相关问题