IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

ESQL-to-.NET data-type mapping tables

Tables summarizing the mappings from ESQL to .NET.

The following tables summarize the mappings from ESQL to a selection of .NET languages, including the .NET CLR base types.
Table 1. Common Language Runtime (CLR) Native Datatype Mapping
Broker Type 1 CLR Type 1 Broker Type 2 CLR Type 2
Integer Not Null Int64 Date Not Null DateTimeOffset
Integer Nullable<Int64> Date Nullable<DateTimeOffset>
Int Not Null Int32 Time Not Null TimeSpan
Int Nullable<Int32> Time Nullable<TimeSpan>
Decimal Not Null Decimal Timestamp Not Null DateTimeOffset
Decimal Nullable<Decimal> Timestamp Nullable<DateTimeOffset>
Float Not Null Double Gmttime Not Null TimeSpan
Float Nullable<Double> Gmttime Nullable<TimeSpan>
Bit Not Null BitArray Gmttimestamp Not Null DateTime
Bit "" Gmttimestamp Nullable<DateTime>
Blob Not Null Byte[] Interval Not Null 1 TimeSpan
Blob "" Interval 1 Nullable<TimeSpan>
Character Not Null String Interval YEAR – MONTH Not Supported
Character ""    
Char Not Null Char Reference Not Null NBElement
Char Nullable<Char> Reference ""
Boolean Not Null Boolean    
Boolean Nullable<Boolean>    
  1. Day - Hour - Minute - Second

Table 2. C# Datatype Mapping
Broker Type C# Type (In) C# Type (Out) C# Type (Inout)
Integer Not Null long out long ref long
Integer long? out long? ref long?
Int Not Null int out int ref int
Int int? out int? ref int?
Decimal Not Null decimal out decimal ref decimal
Decimal decimal? out decimal? ref decimal?
Float Not Null double out double ref double
Float double? out double? ref double?
Bit Not Null BitArray out BitArray ref BitArray
Bit "" "" ""
Blob Not Null Byte[] out Byte[] ref Byte[]
Blob "" "" ""
Character Not Null string out string ref string
Character "" "" ""
Char Not Null char out char ref char
Char char? out char? ref char?
Boolean Not Null bool out bool ref bool
Boolean bool? out bool? ref bool?
Date Not Null DateTimeOffset out DateTimeOffset ref DateTimeOffset
Date DateTimeOffset? out DateTimeOffset? ref DateTimeOffset?
Time Not Null TimeSpan out TimeSpan ref TimeSpan
Time TimeSpan? out TimeSpan? ref TimeSpan?
Timestamp Not Null DateTimeOffset out DateTimeOffset ref DateTimeOffset
Timestamp DateTimeOffset? out DateTimeOffset? ref DateTimeOffset?
Gmttime Not Null TimeSpan out TimeSpan ref TimeSpan
Gmttime TimeSpan? out TimeSpan? ref TimeSpan?
Gmttimestamp Not Null DateTime out DateTime ref DateTime
Gmttimestamp DateTime? out DateTime? ref DateTime?
Interval Not Null 1 TimeSpan out TimeSpan ref TimeSpan
Interval 1 TimeSpan? out TimeSpan? ref TimeSpan?
Interval YEAR - MONTH Not Supported Not Supported Not Supported
Reference Not Null NBElement Not Supported ref NBElement
Reference "" "" ""
  1. Day - Hour - Minute - Second

Table 3. VB Datatype Mapping
Broker Type VB Type (In) VB Type (Out) VB Type (Inout)
Integer Not Null ByVal Long <Out()> ByRef Long ByRef Long
Integer ByVal Long? <Out()> ByRef Long? ByRef Long?
Int Not Null ByVal Integer <Out()> ByRef Integer ByRef Integer
Int ByVal Integer? <Out()> ByRef Integer? ByRef Integer?
Decimal Not Null ByVal Decimal <Out()> ByRef Decimal ByRef Decimal
Decimal ByVal Decimal? <Out()> ByRef Decimal? ByRef Decimal?
Float Not Null ByVal Double <Out()> ByRef Double ByRef Double
Float ByVal Double? <Out()> ByRef Double? ByRef Double?
Bit Not Null ByVal BitArray <Out()> ByRef BitArray ByRef BitArray
Bit "" "" ""
Blob Not Null ByVal Byte() <Out()> ByRef Byte() ByRef Byte()
Blob "" "" ""
Character Not Null ByVal String <Out()> ByRef String ByRef String
Character "" "" ""
Char Not Null ByVal Char <Out()> ByRef Char ByRef Char
Char ByVal Char? <Out()> ByRef Char? ByRef Char?
Boolean Not Null ByVal Boolean <Out()> ByRef Boolean ByRef Boolean
Boolean ByVal Boolean? <Out()> ByRef Boolean? ByRef Boolean?
Date Not Null ByVal DateTimeOffset <Out()> ByRef DateTimeOffset ByRef DateTimeOffset
Date ByVal DateTimeOffset? <Out()> ByRef DateTimeOffset? ByRef DateTimeOffset?
Time Not Null ByVal TimeSpan <Out()> ByRef TimeSpan ByRef TimeSpan
Time ByVal TimeSpan? <Out()> ByRef TimeSpan? ByRef TimeSpan?
Timestamp Not Null ByVal DateTimeOffset <Out()> ByRef DateTimeOffset ByRef DateTimeOffset
Timestamp ByVal DateTimeOffset? <Out()> ByRef DateTimeOffset? ByRef DateTimeOffset?
Gmttime Not Null ByVal TimeSpan <Out()> ByRef TimeSpan ByRef TimeSpan
Gmttime ByVal TimeSpan? <Out()> ByRef TimeSpan? ByRef TimeSpan?
Gmttimestamp Not Null ByVal DateTime <Out()> ByRef DateTime ByRef DateTime
Gmttimestamp ByVal DateTime? <Out()> ByRef DateTime? ByRef DateTime?
Interval Not Null 1 ByVal TimeSpan <Out()> ByRef TimeSpan ByRef TimeSpan
Interval 1 ByVal TimeSpan? <Out()> ByRef TimeSpan? ByRef TimeSpan?
Interval YEAR - MONTH Not Supported Not Supported Not Supported
Reference Not Null ByVal NBElement Not supported ByRef NBElement
Reference      
  1. Day - Hour - Minute - Second

Table 4. F# Datatype Mapping
Broker Type F# Type (In) F# Type (Out) F# Type (Inout)
Integer Not Null int64 [<Out>] byref<int64> byref<int64>
Integer Nullable<int64> [<Out>] byref<Nullable<int64>> byref<Nullable<int64>>
Int Not Null int [<Out>] byref<int> byref<int>
Int Nullable<int> [<Out>] byref<Nullable<int>> byref<Nullable<int>>
Decimal Not Null decimal [<Out>] byref<decimal> byref<decimal>
Decimal Nullable<decimal> [<Out>] byref<Nullable<decimal>> byref<Nullable<decimal>>
Float Not Null double [<Out>] byref<double> byref<double>
Float Nullable<double> [<Out>] byref<Nullable<double>> byref<Nullable<double>>
Bit Not Null BitArray [<Out>] byref<BitArray> byref<BitArray>
Bit "" "" ""
Blob Not Null byte[] [<Out>] byref<byte[]> byref<byte[]>
Blob "" "" ""
Character Not Null char [<Out>] byref<char> byref<char>
Character "" "" ""
Char Not Null string [<Out>] byref<string> byref<string>
Char Nullable<char> [<Out>] byref<Nullable<char>> byref<Nullable<char>>
Boolean Not Null bool [<Out>] byref<bool> byref<bool>
Boolean Nullable<bool> [<Out>] byref<Nullable<bool>> byref<Nullable<bool>>
Date Not Null DateTimeOffset [<Out>] byref<DateTimeOffset> byref<DateTimeOffset>
Date Nullable<DateTimeOffset> [<Out>] byref<Nullable<DateTimeOffset>> byref<Nullable<DateTimeOffset>>
Time Not Null TimeSpan [<Out>] byref<TimeSpan> byref<TimeSpan>
Time Nullable<TimeSpan> [<Out>] byref <Nullable<TimeSpan>> byref<Nullable<TimeSpan>>
Timestamp Not Null DateTimeOffset [<Out>] byref<DateTimeOffset> byref<DateTimeOffset>
Timestamp Nullable<DateTimeOffset> [<Out>] byref<Nullable<DateTimeOffset>> byref<Nullable<DateTimeOffset>>
Gmttime Not Null TimeSpan [<Out>] byref<TimeSpan> byref<TimeSpan>
Gmttime Nullable<TimeSpan> [<Out>] byref<Nullable<TimeSpan>> byref<Nullable<TimeSpan>>
Gmttimestamp Not Null DateTime [<Out>] byref<DateTime> byref<DateTime>
Gmttimestamp Nullable<DateTime> [<Out>] byref<Nullable<DateTime>> byref<Nullable<DateTime>>
Interval Not Null 1 TimeSpan [<Out>] byref<TimeSpan> byref<TimeSpan>
Interval 1 Nullable<TimeSpan> [<Out>] byref<Nullable<TimeSpan>> byref<Nullable<TimeSpan>>
Interval YEAR - MONTH Not Supported Not Supported Not Supported
Reference Not Null NBElement Not Supported byref<NBElement>
Reference "" "" ""
  1. Day - Hour - Minute - Second

Table 5. C++ / CLI Datatype Mapping
Broker Type CPP Type (In) CPP Type (Out) CPP Type (Inout)
Integer Not Null long long [Out] long long% long long%
Integer Nullable<long long> [Out] Nullable<long long>% Nullable<long long>%
Int Not Null int [Out] int% int%
Int Nullable<int> [Out] Nullable<int>% Nullable<int>%
Decimal Not Null Decimal [Out] Decimal% Decimal%
Decimal Nullable<Decimal> [Out] Nullable<Decimal>% Nullable<Decimal>%
Float Not Null double [Out] double% double%
Float Nullable<double> [Out] Nullable<double>% Nullable<double>%
Bit Not Null BitArray^ [Out] BitArray^% BitArray^%
Bit "" "" ""
Blob Not Null array<unsigned char>^ [Out] array<unsigned char>^% array<unsigned char>^%
Blob "" "" ""
Character Not Null String^ [Out] String^% String^%
Character "" "" ""
Char Not Null wchar_t [Out] wchar_t% wchar_t%
Char Nullable<wchar_t> [Out] Nullable<wchar_t>% Nullable<wchar_t>%
Boolean Not Null bool [Out] bool% bool%
Boolean Nullable<bool> [Out] Nullable<bool>% Nullable<bool>%
Date Not Null DateTimeOffset [Out] DateTimeOffset% DateTimeOffset%
Date Nullable<DateTimeOffset> [Out] Nullable<DateTimeOffset>% Nullable<DateTimeOffset>%
Time Not Null TimeSpan [Out] TimeSpan% TimeSpan%
Time Nullable<TimeSpan> [Out] Nullable<TimeSpan>% Nullable<TimeSpan>%
Timestamp Not Null DateTimeOffset [Out] DateTimeOffset% DateTimeOffset%
Timestamp Nullable<DateTimeOffset> [Out] Nullable<DateTimeOffset>% Nullable<DateTimeOffset>%
Gmttime Not Null TimeSpan [Out] TimeSpan% TimeSpan%
Gmttime Nullable<TimeSpan> [Out] Nullable<TimeSpan>% Nullable<TimeSpan>%
Gmttimestamp Not Null DateTime [Out] DateTime% DateTime%
Gmttimestamp Nullable<DateTime> [Out] Nullable<DateTime>% Nullable<DateTime>%
Interval Not Null 1 TimeSpan [Out] TimeSpan% TimeSpan%
Interval 1 Nullable<TimeSpan> [Out] Nullable<TimeSpan>% Nullable<TimeSpan>%
Interval YEAR - MONTH Not Supported Not Supported Not Supported
Reference NBElement^ Not supported NBElement^%
  "" "" ""
  1. Day - Hour - Minute - Second

Table 6. JScript V10.0 Datatype Mapping
Broker Type 1 JScript Type 1 Broker Type 2 JScript Type 2
Integer Not Null long Date Not Null DateTimeOffset
Int Not Null int Time Not Null TimeSpan
Decimal Not Null decimal Timestamp Not Null DateTimeOffset
Float Not Null double Gmttime Not Null TimeSpan
Bit Not Null BitArray Gmttimestamp Not Null DateTime
Blob Not Null byte[] Interval Not Null 1 TimeSpan
Character Not Null String Interval YEAR - MONTH Not Supported
Char Not Null Char Reference Not Null NBElement
Boolean Not Null boolean    
  1. Day - Hour - Minute - Second
Note: JScript cannot support Nullable types.

Variables that are declared to be CONSTANT (or references to variables that are declared to be CONSTANT) are not allowed to have the direction INOUT or OUT.

If a value that is too large for the target .NET data type is passed as a parameter to a .NET routine, an exception is thrown. This exception can happen in the case of an INT parameter being passed a value larger than the largest.NET signed int value (2^31-1) or in the case of a CHAR parameter being passed more than one character.

If a NULL value is passed as a parameter to a .NET routine where the parameter is marked as NOT NULL, an exception is thrown.

REFERENCE to a scalar variable can be used in the CALL of a .NET method, if the data type of the variable to which the reference refers matches the corresponding data type in the .NET method signature.


bk58020_.htm | Last updated Friday, 21 July 2017