在Package中处理 bit column

SQL Server没有boolean类型,使用bit 类型来代替,bit类型有两个值:0 和 1。

SSIS package中有boolean类型,SSIS自动将bit 类型转换成boolean类型,将 1 转换成 True,0 转换成False。在SSIS Package中,如果Table column 的 data type 为 bit,那么Package在输出时自动进行转化,将 1 转换成 True,0 转换成False。

A bit value is either 0 or 1.
A boolean value is either True or False.
SQL Server has a bit data type.  It does not have a boolean data type.  Non-nullable bits are frequently used in SQL Server to simulate boolean data.
SSIS uses .Net data types, not SQL data types.  It supports boolean, not bit.  It has certain built-in auto-conversions, among which is an auto-conversion of bits to Nullable<bool>.

如果要将SQL Server 的Bit 类型转换成Int 类型(0,1),或转换成 String 类型(“0” 或 “1”),而不是(“True”或“False”),需要增加一个Derived Column
IsFlagged_bit = [IsFlagged] ? (DT_UI1)1 : (DT_UI1)0

示例

1,Code

create table dbo.TestBit
(
ID int,
name varchar(10),
IsMerged bit
)
go

insert into dbo.TestBit
values(1,‘a‘,0),(2,‘b‘,1)
go

--get data
select *
from dbo.TestBit

2,使用OLE DB Source 来获取数据

点击Preview...,看到IsMerged 字段的值不是0 或1, 而是转换成True 或False。

3,将bit 类型的数据插入到smallint(int,或 bigint)

使用OLEDB destination,将数据插入到 table dbo.TestBit_Target。

create table dbo.TestBit_Target
(
ID int,
name varchar(10),
IsMerged smallint
)
go

Mapping 关系是:

4,查看插入的结果,Bit 为1 的数据转换成 smallint时,由1 转变成 -1 。这是一个错误。

5,Workaround : 使用derived column, Expression 是:(DT_I2)(IsMerged ? 1 : 0)

参考文档:

SSIS: True/False and 1/0 values on Bit Columns

时间: 2024-10-13 09:33:35

在Package中处理 bit column的相关文章

Hibernate中的&quot;Repeated column in mapping for entity&quot;异常

转:http://lijiejava.iteye.com/blog/786535 一对多双向关联(类Item与类Bid):Item类: Java代码 public class Item { private int id;   private String name;   private Set bids = new HashSet();  ???  } Bid类: Java代码 public class Bid { private int id;   private double amount;

mybatis中association的column传入多个参数值

顾名思义,association是联合查询. 在使用association中一定要注意几个问题.文笔不好,白话文描述一下. 1: <association property="fncg_PD_QRY_MANAGE" column="###" select="###" /> fncg_PD_QRY_MANAGE 是哪来的?看红色部分, public class FNCG_PD_QRY extends BasePO{ private St

Ext.js细节:在MVC中处理Widget Column,GetCmp和ComponentQuery, Id和ItemId

针对EXT.JS版本的演进,要不断的学习新的最佳实践方法. 比如,在定义组件时,尽管用itemid,而不是id. 在搜索组件时,尽量用ComponentQuery,而不是getCmp. 在MVC中处理Widget Column事件时,应该自定义,而在MVVM中,ViewController 直接写: handler: 'onWidgetClick'. 而在MVC中,需要如下定义: scope: me, //#17 handler: function(btn) { //#18 me.fireEve

java读取package中的properties文件java.util.MissingResourceException

文件结构: /build/classes/d914/Hello.class /build/classes/d914/mess.properties /build/classes/d914/mess_zh_CN.properties /build/classes/d914/mess_en_US.properties 在eclipse中运行如下代码: package d914; import java.util.ResourceBundle; import java.util.Locale; pub

mongodb中重命名column名称(更改字段名称)

mongodb中重命名column名称(更改字段名称) 分类:            数据库2012-06-11 11:071648人阅读评论(0)收藏举报 mongodbshell2010c 转自:http://hi.baidu.com/youhong2010/item/6bb2f020115394846e2cc3b6 参见:http://www.mongodb.org/display/DOCS/Updating#Updating-%24rename 例: Shell代码 db.test.fi

背水一战 Windows 10 (90) - 文件系统: 获取 Package 中的文件, 可移动存储中的文件操作, “库”管理

[源码下载] 背水一战 Windows 10 (90) - 文件系统: 获取 Package 中的文件, 可移动存储中的文件操作, “库”管理 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 获取 Package 中的文件 可移动存储中的文件操作 “库”管理 示例1.演示如何获取 Package 中的文件FileSystem/PackageData/Demo.xaml <Page x:Class="Windows10.FileSystem.PackageData.D

如何给sharepoint calendar类型list中的Event Content Type中的workspace column赋值

由于工作需要需要创建一个event 类型的Item,并给其中的每一项column赋值,在写到workspace类型的Column的时候按照以往的经验直接赋值是不对的,所以在想应该怎么去赋值,一般遇到给sharepoint当中的每一项Column赋值的情况,我都是按照以下思路去做的:1.首先知道当前column的类型,以single line of text举例,这样的常规类型的column就可以直接赋值string2.以Lookup类型Column举例,我们可以得到他的value type是SP

C# DataTable中根据某Column值(不重复)获取该值所在行

System.Data.DataTable dt = new System.Data.DataTable(); dt.PrimaryKey = new System.Data.DataColumn[] { dt.Columns["name"] }; System.Data.DataRow row = dtDW.Rows.Find(value);

SpringBoot+MyBatis中自动根据@Table注解和@Column注解生成ResultMap

其实我一点都不想用mybatis,好多地方得自己写,比如这里. 使用mybatis要写大量的xml,烦的一批.最烦人的莫过于写各种resultmap,就是数据库字段和实体属性做映射.我认为这里应该是mybatis自动支持的,但是,它没有.为了轻量化(caocaocoa)???. 很少用mybatis,不知道有没有相关插件.只有自己写方法实现了. 先整理一下大体思路: 1.扫描项目代码下的所有类 2.选出所有类中的含有Table注解的类 3.根据column注解找出类下的属性映射关系 4.创建my