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
Integration node Type 1 |
CLR Type 1 |
Integration node 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> |
|
|
- Day - Hour - Minute - Second
Table 2. C# Datatype Mapping
Integration node 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 |
"" |
"" |
"" |
- Day - Hour - Minute - Second
Table 3. VB Datatype Mapping
Integration node 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 |
|
|
|
- Day - Hour - Minute - Second
Table 4. F# Datatype Mapping
Integration node 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 |
"" |
"" |
"" |
- Day - Hour - Minute - Second
Table 5. C++ / CLI Datatype Mapping
Integration node 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^% |
|
"" |
"" |
"" |
- Day - Hour - Minute - Second
Table 6. JScript V10.0 Datatype Mapping
Integration node Type 1 |
JScript Type 1 |
Integration node 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 |
|
|
- 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.