robjlong
10/6/2015 - 5:18 PM

Mapping of data types between SSIS, BIML, SQL, and C#

Mapping of data types between SSIS, BIML, SQL, and C#

CREATE TABLE [metadata].[DataTypeMapping]
(
	[SqlDataType] [NVARCHAR](128) NULL
  , [SsisDataType] [NVARCHAR](128) NULL
  , [BimlDataType] [NVARCHAR](128) NULL
  , [C_SharpDataType] [NVARCHAR](128) NULL
);

INSERT INTO metadata.DataTypeMapping
(
	SqlDataType
  , SsisDataType
  , BimlDataType
  , C_SharpDataType
)
VALUES
(N'bigint', N'DT_I8', N'Int64', N'Int64')
, (N'binary', N'DT_BYTES', N'Binary', N'Binary')
, (N'bit', N'DT_BOOL', N'Boolean', N'Boolean')
, (N'char', N'DT_STR', N'AnsiStringFixedLength', N'String')
, (N'date', N'DT_DBDATE', N'Date', N'Date')
, (N'datetime', N'DT_DBTIMESTAMP', N'DateTime', N'DateTime')
, (N'datetime2', N'DT_DBTIMESTAMP2', N'DateTime2', N'DateTime2')
, (N'datetimeoffset', N'DT_DBTIMESTAMPOFFSET', N'DateTimeOffset', N'DateTimeOffset')
, (N'decimal', N'DT_DECIMAL', N'Decimal', N'Decimal')
, (N'float', N'DT_R8', N'Double', N'Double')
, (N'image', N'DT_IMAGE', N'Binary', N'Binary')
, (N'int', N'DT_I4', N'Int32', N'Int32')
, (N'money', N'DT_CY', N'Currency', N'Currency')
, (N'nchar', N'DT_WSTR', N'StringFixedLength', N'String')
, (N'ntext', N'DT_NTEXT', N'String', N'String')
, (N'numeric', N'DT_NUMERIC', N'Decimal', N'Decimal')
, (N'nvarchar', N'DT_WSTR', N'String', N'String')
, (N'real', N'DT_R4', N'Single', N'Single')
, (N'smalldatetime', N'DT_DBTIMESTAMP', N'DateTime', N'DateTime')
, (N'smallint', N'DT_I2', N'Int16', N'Int16')
, (N'smallmoney', N'DT_CY', N'Currency', N'Currency')
, (N'sql_variant', N'DT_WSTR', N'Object', N'Object')
, (N'text', N'DT_TEXT', N'AnsiString', N'String')
, (N'time', N'DT_DBTIME2', N'Time', N'Time')
, (N'tinyint', N'DT_UI1', N'Byte', N'Byte')
, (N'uniqueidentifier', N'DT_GUID', N'Guid', N'Guid')
, (N'varbinary', N'DT_BYTES', N'Binary', N'Binary')
, (N'varchar', N'DT_STR', N'AnsiString', N'String')
, (N'xml', N'DT_WSTR', N'Xml', N'Xml');