Table of Contents

Search

  1. Preface
  2. Introduction to Dynamic Data Masking
  3. Rules
  4. Connection Rules
  5. Security Rules
  6. Security Rule Set Simulator
  7. Masking Functions
  8. XML Functions Reference
  9. Glossary

Tabular Data Stream Protocol for Result Sets

Tabular Data Stream objects are converted between Microsoft SQL Server data types and Java types when the result set of a procedure call is created.
If the result set rewrite process encounters a column with an unsupported data type, the TDS protocol cannot create the result set. Consequently Dynamic Data Masking cannot mask any result set that contains a column with an unsupported data type, nor any other result sets subsequent to that result set in the response.
The following table shows the conversion that takes place between TDS types, Microsoft SQL Server data types, and Java types:
TDS Type
Microsoft SQL Server Type
Java Type
Remarks
Fixed-Length Data Types
NULLTYPE = %x1F
Null
Not supported
INT1TYPE = %x30
TinyInt
java.lang.Byte.class
Tested
BITTYPE = %x32
Bit
java.lang.Boolean.class
Created by Utility component
INT2TYPE = %x34
SmallInt
java.lang.Short.class
Created by Utility component
INT4TYPE = %x38
Int
java.lang.Integer.class
Tested
DATETIM4TYPE = %x3A
SmallDateTime
java.util.Date.class
Tested
FLT4TYPE = %x3B
Real
java.lang.Float.class
Created by Utility component
MONEYTYPE = %x3C
Money
java.math.BigDecimal.class
Created by Utility component
DATETIMETYPE = %x3D
DateTime
java.util.Date.class
Tested
FLT8TYPE = %x3E
Float
java.lang.Double.class
Created by Utility component
MONEY4TYPE = %x7A
SmallMoney
java.math.BigDecimal.class
Created by Utility component
INT8TYPE = %x7F
BigInt
java.lang.Long.class
Created by Utility component
Variable-Length Data Types
GUIDTYPE = %x24
UniqueIdentifier
byte[]
Tested
INTNTYPE = %x26
(see below)
Type according to parameter
Tested
DECIMALTYPE = %x37
Decimal (legacy support)
java.math.BigDecimal.class
Created by Utility component
NUMERICTYPE = %x3F
Numeric (legacy support)
java.math.BigDecimal.class
Created by Utility component
BITNTYPE = %x68
Bit
java.lang.Boolean.class
Created by Utility component
DECIMALNTYPE = %x6A
Decimal
java.math.BigDecimal.class
Created by Utility component
NUMERICNTYPE = %x6C
Numeric
java.math.BigDecimal.class
Created by Utility component
FLTNTYPE = %x6D
Float
java.lang.Float.class
Created by Utility component
MONEYNTYPE = %x6E
SmallMoney/Money
java.math.BigDecimal.class
Created by Utility component
DATETIMNTYPE = %x6F
(see below)
java.util.Date.class
Tested
DATENTYPE = %x28
(introduced in TDS 7.3)
java.util.Date.class
Tested
TIMENTYPE = %x29
(introduced in TDS 7.3)
java.util.Date.class
Tested
DATETIME2NTYPE = %x2A
(introduced in TDS 7.3)
Not supported
DATETIMEOFFSETNTYPE = %x2B
(introduced in TDS 7.3)
Not supported
CHARTYPE = %x2F
Char (legacy support)
java.lang.String.class
Created by Utility component
VARCHARTYPE = %x27
VarChar (legacy support)
java.lang.String.class
Created by Utility component
BINARYTYPE = %x2D
byte[]
byte[]
Tested
VARBINARYTYPE = %x25
VarBinary (legacy support)
byte[]
similar to tested case
BIGVARBINTYPE = %xA5
VarBinary
byte[]
Tested
BIGVARCHRTYPE = %xA7
VarChar
java.lang.String.class
Tested
BIGBINARYTYPE = %xAD
Binary
java.lang.Byte[].class
Tested
BIGCHARTYPE = %xAF
Char
java.lang.String.class
Created by Utility component
NVARCHARTYPE = %xE7
NVarChar
java.lang.String.class
Tested
NCHARTYPE = %xEF
NChar
java.lang.String.class
Created by Utility component
XMLTYPE = %xF1
XML (introduced in TDS 7.2)
java.lang.String.class
Created by Utility component
UDTTYPE = %xF0
CLR UDT (introduced in TDS 7.2)
Not supported
TEXTTYPE = %x23
Text
java.lang.String.class
Created by Utility component
IMAGETYPE = %x22
Image
Not supported
NTEXTTYPE = %x63
NText
java.lang.String.class
Created by Utility component
SSVARIANTTYPE = %x62
Sql_Variant (introduced in TDS 7.2)
Not supported