Skip to main content

SQL Server programmer's reference

MSJet properties

Note

Before you can use this adapter, the tasks described in Configuring SQL Server to use MSJet must be completed.

Striim provides wizards for creating applications that read from SQL Server and write to various targets. SeeCreating an application using a wizard for details.

This adapter has the following properties:

property

type

default value

notes

Bidirectional Marker Table

String

When performing bidirectional replication, the fully qualified name of the marker table (see Bidirectional replication). This setting is case-sensitive.

CDDL Action

enum

Process

Visible in Flow Designer only when CDDL Capture is enabled. See Handling schema evolution.

CDDL Capture

Boolean

False

See Handling schema evolution.

Do not use Find and Replace DDL unless instructed to by Striim support.

Committed Transactions

String

True

By default, only committed transactions are read. Set to False to read both committed and uncommitted transactions.

Compression

Boolean

False

Set to True when the output of the source is the input of a DatabaseWriter target that writes to Cassandra {see Cassandra Writer).

Connection Retry Policy

String

timeOut=30, retryInterval=30, maxRetries=3

With the default setting:

  • Striim will wait for the database to respond to a connection request for 30 seconds (timeOut=30).

  • If the request times out, Striim will try again in 30 seconds (retryInterval=30).

  • If the request times out on the third retry (maxRetries=3), a ConnectionException will be logged and the application will stop.

Negative values are not supported.

Connection URL

String

IP address and port of Microsoft SQL server, separated by a colon: for example, 192.168.1.10:1433. Reading from a secondary database is not supported.

When connecting through an SSH tunnel (see Using an SSH tunnel to connect to a source or target), specify the IP address of the tunnel.

MSJet supports TLS 1.2 (see Transport Layer Security (TLS)). No configuration is required on Striim's side.

If the connection requires SSL, see Set up connection to MSSQLReader with SSL in Striim's knowledge base.

Known issue DEV-46366: The connection URL does not support connecting to a specific instance. Striim will always connect to the default instance.

Database Name

String

the SQL Server database name

Excluded Tables

String

Data for any tables specified here will not be returned. For example, if Tables uses a wildcard, data from any tables specified here will be omitted. Multiple table names (separated by semicolons) and wildcards may be used exactly as for Tables.

Filter Transaction Boundaries

Boolean

True

With the default value of True, begin and commit transactions are filtered out. Set to False to include begin and commit transactions.

Integrated Security

Boolean

False

When set to the default value of False, the adapter will use SQL Server Authentication. Set to True to use Windows Authentication, in which case the adapter will authenticate as the user running the Forwarding Agent or Striim server on which it is deployed, and any settings in Username or Password will be ignored. See Choose an Authentication Mode for more information.

Mode

String

Direct

Set to Mine if:

  • the Striim instance or Forwarding Agent running MSJet is not installed on the same server as SQL Server

  • the SQL Server logs MSJet will read are encrypted with SQL Server Transport Data Encryption (TDE) or compressed

  • Striim does not have permission to read the logs directly

  • known issue DEV-41740: your backup logs have a BLOCKSIZE other than 4096 bytes

If none of those is the case, leave set to Direct for maximum throughput.

Known issue DEV-48052: Mine mode may significantly reduce throughput compared with Direct mode.

Partial Record Policy

String

This property enables enable fetching column values from the database tables when the values are partially available or not available in the database transaction log. It allows the adapter to query and fetch supported/unsupported columns from the source database as needed.

For example:

PARTIALRECORDPOLICY : '{ "Tables" : "TPCC.Orders (orderid, image);" }'

The LookupUsing parameter can be used to fetch the record from the flashback or from the latest snapshot of the table. The value should be SCN or PKEY for Oracle, or PKEY for MS SQL Server.

PARTIALRECORDPOLICY :  '{"Tables":"TPCC.Orders (orderid, image);", "LookupUsing" : "PKEY"}'

The PKEY should be used if you need to fetch the record based on the primary key. If you do not specify a LookupUsing parameter, the Partial Record Policy automatically takes the PKEY into account.

See Using the Partial Record Policy to fetch unsupported columns for more information.

Password

encrypted password

The password specified for the username (see Encrypted passwords).

Quiesce Marker Table

String

QUIESCEMARKER

See Creating the QUIESCEMARKER table for MSJet. Modify the default value if the quiesce marker table is not in the schema associated with the user specified in the Username.

Send Before Image

Boolean

True

set to False to omit before data from output

Start Position

String

NOW

With the default value NOW, reading starts at the end of the log file (that is, only new data is read). Alternatively, you may specify a SQL Server log sequence number (for example, LSN:0x00000A85000001B8002D) for the Begin operation of the transaction from which to start reading.

If you are using schema evolution (see Handling schema evolution, set a Start Position only if you are sure that there have been no DDL changes after that point.Handling schema evolution

See also Switching from initial load to continuous replication.

Tables

String

The table(s) for which to return change data. Names must be specified as <schema name>.<table name> and are case-sensitive. (The server is specified by the IP address in connectionURL and the database by databaseName.)

Do not modify this property when CDDL Capture is True or recovery is enabled for the application.

You may specify multiple tables as a list separated by semicolons or with the following wildcards:

  • %: any series of characters

  • _: any single character

For example, my.% would read all tables in the my schema. The % wildcard is allowed only at the end of the string. For example, mydb.prefix% is valid, but mydb.%suffix is not.

At least one table must match the wildcard or start will fail with a "Could not find tables specified in the database" error. Temporary tables (which start with #) are ignored.

MSJet supports compressed tables and indexes (see Learn / SQL / SQL Server / Enable Compression on a Table or Index).

Specifying a table with more than 1018 columns will cause the application to halt with a SQL Server error that a column "exceeds the maximum of 1024 columns" (because additional columns are added to SQL Server's corresponding change table).

Known issue DEV-26878: table names containing [ will cause MSJet to halt.

Transaction Buffer Spillover Size

String

100MB

Visible in Flow Designer only when Transaction Buffer Type is Disk. When Transaction Buffer Type is Memory, this setting has no effect.

When Transaction Buffer Type is Disk, the amount of memory that Striim will use to hold each in-process transaction before buffering it to disk. You may specify the size in MB or GB.

Transaction Buffer Type

String

Disk

When Striim runs out of available Java heap space, the application will terminate. Typically this will happen when a transaction includes millions of INSERT, UPDATE, or DELETE events with a single COMMIT.

To avoid this problem, with the default setting of Disk, when a transaction exceeds the Transaction Buffer Spillover Size, Striim will buffer it to disk at the location specified by the Transaction Buffer Disk Location property, then process it when memory is available.

When the setting is Disk and recovery is enabled (see Recovering applications), after the application terminates or is stopped the buffer will be reset, and during recovery any previously buffered transactions will restart from the beginning.Recovering applications

To disable transaction buffering, set Transaction Buffer Type to Memory.

Username

String

If Integrated Security is True, leave blank. If Integrated Security is False, specify the login name for the SQL Server user.

MS SQL Reader properties

Note

Before using this adapter, you must complete the tasks described in Configuring SQL Server to use MS SQL Reader.

By default, SQL Server retains three days of change capture data.

Striim provides wizards for creating applications that read from SQL Server and write to various targets. SeeCreating an application using a wizard for details.

The adapter properties are:

property

type

default value

notes

Auto Disable Table CDC

Boolean

False

SQL Server starts capturing change data when the Striim application is started. With the default setting of False, SQL Server will continue capturing change data after the application is undeployed. If set to True, when the application is undeployed, SQL Server will stop capturing change data and delete all previously captured data from its change tables.

Bidirectional Marker Table

String

When performing bidirectional replication, the fully qualified name of the marker table (see Bidirectional replication). This setting is case-sensitive.

CDC Role Name

String

STRIIM_READER

The name of the role Striim will use when it enables CDC at the table level. If this role does not exist it will be created automatically. See Learn / SQL / SQL Server / sys.sp_cdc_enable_table (Transact-SQL) for more information.

Compression

Boolean

False

Set to True when the output of the source is the input of a DatabaseWriter target that writes to Cassandra {see Cassandra Writer).

Connection Pool Size

Integer

10

typically should be set to the number of tables, with a large number of tables can set lower to reduce impact on MSSQL host

Connection Retry Policy

String

timeOut=30, retryInterval=30, maxRetries=3

With the default setting:

  • Striim will wait for the database to respond to a connection request for 30 seconds (timeOut=30).

  • If the request times out, Striim will try again in 30 seconds (retryInterval=30).

  • If the request times out on the third retry (maxRetries=3), a ConnectionException will be logged and the application will stop.

Negative values are not supported.

Connection URL

String

<ip address or server name>:<port> or <ip address>\\<instance name>:<port>, for example, 92.168.1.10:1433. If reading from a secondary database in an Always On availability group, use <IP address>:<port>;applicationIntent=ReadOnly.

When connecting through an SSH tunnel (see Using an SSH tunnel to connect to a source or target), specify the IP address of the tunnel.

If the connection requires SSL, see Set up connection to MSSQLReader with SSL in Striim's knowledge base.

Known issue DEV-46366: The connection URL does not support connecting to a specific instance. Striim will always connect to the default instance.

Database Name

String

the SQL Server database name

Excluded Tables

String

Data for any tables specified here will not be returned. For example, if Tables uses a wildcard, data from any tables specified here will be omitted. Multiple table names (separated by semicolons) and wildcards may be used exactly as for Tables.

Fetch Size

Integer

0

The fetch size is the number of rows that MSSQLReader will fetch at a time. With the default value of 0, this is controlled by SQL Server. You may set this manually: lower values will reduce memory usage, higher values will increase performance.

Fetch Transaction Metadata

Boolean

False

With the default value of False, the metadata array will not include TimeStamp or TxnID fields. If set to True, the metadata array will include TimeStamp and TxnID values (note that this will reduce performance). This must be set to True for Monitoring end-to-end lag (LEE) to produce accurate results.

Filter Transaction Boundaries

Boolean

True

With the default value of True, begin and commit transactions are filtered out. Set to False to include begin and commit transactions.

Integrated Security

Boolean

False

When set to the default value of False, the adapter will use SQL Server Authentication. Set to True to use Windows Authentication, in which case the adapter will authenticate as the user running the Forwarding Agent or Striim server on which it is deployed, and any settings in Username or Password will be ignored. See Choose an Authentication Mode for more information.

Partial Record Policy

String

This property enables enable fetching column values from the database tables when the values are partially available or not available in the database transaction log. It allows the adapter to query and fetch supported/unsupported columns from the source database as needed.

For example:

PARTIALRECORDPOLICY : '{ "Tables" : "TPCC.Orders (orderid, image);" }'

PARTIALRECORDPOLICY :  '{"Tables":"TPCC.Orders (orderid, image);", "LookupUsing" : "PKEY"}'

The PKEY should be used if you need to fetch the record based on the primary key. If you do not specify a LookupUsing parameter, the Partial Record Policy automatically takes the PKEY into account.

See Using the Partial Record Policy to fetch unsupported columns for more information.

Password

encrypted password

the password specified for the username

Polling Interval

Integer

5

This property controls how often the adapter reads from the source. The value is in seconds. By default, it checks the source for new data every five seconds. If there is new data, the adapter reads it and sends it to the adapter's output stream.

Send Before Image

Boolean

True

set to False to omit before data from output

Start Position

String

NOW

With the default value NOW, reading starts at the end of the log file (that is, only new data is read). Alternatively, you may specify a specific time (in the Transact-SQL format TIME: YYYY-MM-DD hh:mm:ss:nnn, for example, TIME:2014-10-03 13:32:32.917) or SQL Server log sequence number (for example, LSN:0x00000A85000001B8002D) for the Begin operation of the transaction from which to start reading.

See also Switching from initial load to continuous replication.

Tables

String

The table(s) for which to return change data. Names must be specified as <schema name>.<table name> and are case-sensitive. (The server is specified by the IP address in connectionURL and the database by databaseName.)

Do not modify this property when CDDL Capture is True or recovery is enabled for the application.

You may specify multiple tables as a list separated by semicolons or with the following wildcards:

  • %: any series of characters

  • _: any single character

For example, my.% would read all tables in the my schema. The % wildcard is allowed only at the end of the string. For example, mydb.prefix% is valid, but mydb.%suffix is not.

At least one table must match the wildcard or start will fail with a "Could not find tables specified in the database" error. Temporary tables (which start with #) are ignored.

Specifying a table with more than 1018 columns will cause the application to halt with a SQL Server error that a column "exceeds the maximum of 1024 columns" (because additional columns are added to SQL Server's corresponding change table).

Transaction Support

Boolean

False

If set to True, MSSQLReader will preserve the order of operations within a transaction. This is required for Bidirectional replication and to support Preserve Source Transaction Boundary in Database Writer. If you set Transaction Support to True, set Filter Transaction Boundaries to False.

Transaction support requires one of the cumulative SQL Server updates listed in FIX: The change table is ordered incorrectly for updated rows after you enable change data capture for a Microsoft SQL Server database. If you have not applied one of those updates, or are reading from SQL Server 2008, leave this at its default value of False.

Username

String

the login name for the user created as described in Configuring SQL Server to use MS SQL Reader

SQL Server readers WAEvent fields

The output data type for MS SQL Reader and MSJet is WAEvent. The elements are:

metadata: a map including:

  • BeginLsn (MSJet only): LSN of Begin operation for the transaction

  • BeginTimestamp (MSJet only): timestamp of Begin operation for the transaction

  • CommitLsn (MSJet only): LSN of Commit operation for the transaction

  • CommitTimestamp (MSJet only): timestamp of Commit operation for the transaction

  • OperationName: INSERT, UPDATE, or DELETE

    MSJet only: When schema evolution is enabled, OperationName for DDL events will be Alter, AlterColumns, Create, or Drop. This metadata is reserved for internal use by Striim and subject to change, so should not be used in CQs, open processors, or custom Java functions.

  • PartitionId (MSJet only): the partition from which the data was read

  • PK_UPDATE:

    • MS SQL Reader: for UPDATE only, true if the primary key value was changed, otherwise false

    • MSJet: field not included (see limitations in SQL Server CDC readers)SQL Server

  • SEQUENCE: LSN of the operation

  • TableName: fully qualified name of the table . It is present but null for key-sequenced files and key-sequenced tables that have a user-defined primary key.

  • TimeStamp (MS SQL Reader only): timestamp from the CDC log. By default, values are included only for the first record of a new transaction (for more details, see FetchTransactionMetadata in MSSQLReader properties).

  • TransactionName: name of the transaction

  • TxnID: transaction ID. When using MS SQL Reader, by default, values are included only for the first record of a new transaction (for more details, see FetchTransactionMetadata in MSSQLReader properties).

To retrieve the values for these fields, use the META() function. See Parsing the fields of WAEvent for CDC readers.

data: an array of fields, numbered from 0, containing:

  • for an INSERT or DELETE operation, the values that were inserted or deleted

  • for an UPDATE, the values after the operation was completed

To retrieve the values for these fields, use SELECT ... (DATA[]). See Parsing the fields of WAEvent for CDC readers.

before (for UPDATE operations only): the same format as data, but containing the values as they were prior to the UPDATE operation

dataPresenceBitMap, beforePresenceBitMap, and typeUUID are reserved and should be ignored.

MSJet example output

MSJet's output type is WAEvent. See WAEvent contents for change data and SQL Server readers WAEvent fields.

The following commands are examples of various common operation types.

create table employee(id int,name char(40),address char(40));

begin transaction t1;

--insert
insert into dbo.employee values('1','Maha 5','Chennai');

--update
update dbo.employee set name='Maha' where ID=1;

--primary key update
update dbo.employee set ID=10 where ID=1;

--delete
delete from dbo.employee where id=10;

commit transaction t1;

The WAEvent output resulting from those commands will be similar to:

Data: WAEvent{
data: [ ] 
  metadata: {"CommitLsn":"0x00000028:00000450:0040","TableName":null,"TxnID":"0000.000003ea",
    "OperationName":"BEGIN","SEQUENCE":"0x00000028:00000450:0020","CommitTimestamp":1633414675857,
    "BeginTimestamp":1633414675823,"BeginLsn":"0x00000028:00000450:0020","TransactionName":"t1"}
  userdata: null
  before: null
  dataPresenceBitMap: "AA=="
  beforePresenceBitMap: "AA=="
  typeUUID: null
};
Data: WAEvent{
  data: ["1","Maha 5                                  ","Chennai                                 "]
  metadata: {"CommitLsn":"0x00000028:00000450:0040","TableName":"dbo.employee","TxnID":"0000.000003ea",
    "OperationName":"INSERT","SEQUENCE":"0x00000028:00000450:003a","CommitTimestamp":1633414675857,"
    PartitionId":72057594043170816,"BeginTimestamp":1633414675823,"BeginLsn":"0x00000028:00000450:0020",
    "TransactionName":"t1"}
  userdata: null
  before: null
  dataPresenceBitMap: "Bw=="
  beforePresenceBitMap: "AA=="
  typeUUID: {"uuidstring":"01ec25a3-fb2f-70d1-901a-001c42ca1a64"}
};
Data: WAEvent{
  data: ["1","Maha                                    ","Chennai                                 "]
  metadata: {"CommitLsn":"0x00000028:00000450:0040","TableName":"dbo.employee","TxnID":"0000.000003ea",
    "OperationName":"UPDATE","SEQUENCE":"0x00000028:00000450:003c","CommitTimestamp":1633414675857,
    "PartitionId":72057594043170816,"BeginTimestamp":1633414675823,"BeginLsn":"0x00000028:00000450:0020",
    "TransactionName":"t1"}
  userdata: null
  before: [1,"Maha 5                                  ","Chennai                                 "]
  dataPresenceBitMap: "Bw=="
  beforePresenceBitMap: "Bw=="
  typeUUID: {"uuidstring":"01ec25a3-fb2f-70d1-901a-001c42ca1a64"}
};
Data: WAEvent{
  data: ["10","Maha                                    ","Chennai                                 "]
  metadata: {"CommitLsn":"0x00000028:00000450:0040","TableName":"dbo.employee","TxnID":"0000.000003ea",
    "OperationName":"UPDATE","SEQUENCE":"0x00000028:00000450:003d","CommitTimestamp":1633414675857,
    "PartitionId":72057594043170816,"BeginTimestamp":1633414675823,"BeginLsn":"0x00000028:00000450:0020",
    "TransactionName":"t1"}
  userdata: null
  before: [1,"Maha                                    ","Chennai                                 "]
  dataPresenceBitMap: "Bw=="
  beforePresenceBitMap: "Bw=="
  typeUUID: {"uuidstring":"01ec25a3-fb2f-70d1-901a-001c42ca1a64"}
};
Data: WAEvent{
  data: ["10","Maha                                    ","Chennai                                 "]
  metadata: {"CommitLsn":"0x00000028:00000450:0040","TableName":"dbo.employee","TxnID":"0000.000003ea",
    "OperationName":"DELETE","SEQUENCE":"0x00000028:00000450:003e","CommitTimestamp":1633414675857,"
    PartitionId":72057594043170816,"BeginTimestamp":1633414675823,"BeginLsn":"0x00000028:00000450:0020","
    TransactionName":"t1"}
  userdata: null
  before: null
  dataPresenceBitMap: "Bw=="
  beforePresenceBitMap: "AA=="
  typeUUID: {"uuidstring":"01ec25a3-fb2f-70d1-901a-001c42ca1a64"}
};
Data: WAEvent{
data: [ ] 
  metadata: {"CommitLsn":"0x00000028:00000450:0040","TableName":null,"TxnID":"0000.000003ea",
    "OperationName":"COMMIT","SEQUENCE":"0x00000028:00000450:0040","CommitTimestamp":1633414675857,
    "BeginTimestamp":1633414675823,"BeginLsn":"0x00000028:00000450:0020","TransactionName":"t1"}
  userdata: null
  before: null
  dataPresenceBitMap: "AA=="
  beforePresenceBitMap: "AA=="
  typeUUID: null
};

MS SQL Reader simple application

The following application will write change data for the specified table to SysOut. Replace the Username and Password values with the credentials for the account you created for Striim (see Configuring SQL Server to use MS SQL Reader), dbo.mytable with the name of the table to be read, and watestdb with the name of the database containing the table.

CREATE APPLICATION SQLServerTest;
CREATE SOURCE SQLServerCDCIn USING MSSqlReader (
  Username:'wauser',
  Password:'password',
  DatabaseName:'watestdb',
  ConnectionURL:'192.168.1.10:1433',
  Tables:'dbo.mytable'
) 
OUTPUT TO SQLServerCDCStream;
CREATE TARGET SQLServerCDCOut
  USING SysOut(name:SQLServerCDC)
  INPUT FROM SQLServerCDCStream;
END APPLICATION SQLServerTest;

MSSQLReader example output

MSSQLReader's output type is WAEvent. See WAEvent contents for change data and SQL Server readers WAEvent fields.

The following are examples of WAEvents emitted by MSSQLReader for various operation types. They all use the following table:

CREATE TABLE POSAUTHORIZATIONS (BUSINESS_NAME varchar(30),
  MERCHANT_ID varchar(100),
  PRIMARY_ACCOUNT bigint,
  POS bigint,
  CODE varchar(20),
  EXP char(4),
  CURRENCY_CODE char(3),
  AUTH_AMOUNT decimal(10,3),
  TERMINAL_ID bigint,
  ZIP integer,
  CITY varchar(20));
GO

INSERT

If you performed the following INSERT on the table:

INSERT INTO POSAUTHORIZATIONS VALUES(
  'COMPANY 1',
  'D6RJPwyuLXoLqQRQcOcouJ26KGxJSf6hgbu',
  6705362103919221351,
  0,
  '20130309113025',
  '0916',
  'USD',
  2.20,
  5150279519809946,
  41363,
  'Quicksand');
GO

The WAEvent for that INSERT would be:

data: ["COMPANY 1","D6RJPwyuLXoLqQRQcOcouJ26KGxJSf6hgbu",6705362103919221351,0,"20130309113025",
"0916","USD","2.200",5150279519809946,41363,"Quicksand"]
metadata: {"TimeStamp":0,"TxnID":"","SEQUENCE":"0000002800000171001C","PK_UPDATE":"false",
"TableName":"dbo.POSAUTHORIZATIONS","OperationName":"INSERT"}
before: null

UPDATE

If you performed the following UPDATE on the table:

UPDATE POSAUTHORIZATIONS SET BUSINESS_NAME = 'COMPANY 5A' where pos=0;
GO

The WAEvent for that UPDATE for the row created by the INSERT above would be:

data: ["COMPANY 5A","D6RJPwyuLXoLqQRQcOcouJ26KGxJSf6hgbu",6705362103919221351,0,"20130309113025",
"0916","USD","2.200",5150279519809946,41363,"Quicksand"]
metadata: {"TimeStamp":0,"TxnID":"","SEQUENCE":"00000028000001BC0002","PK_UPDATE":"false",
"TableName":"dbo.POSAUTHORIZATIONS","OperationName":"UPDATE"}
before: ["COMPANY 1","D6RJPwyuLXoLqQRQcOcouJ26KGxJSf6hgbu",6705362103919221351,0,"20130309113025",
"0916","USD","2.200",5150279519809946,41363,"Quicksand"]

DELETE

If you performed the following DELETE on the table:

DELETE from POSAUTHORIZATIONS where pos=0;
GO

The WAEvent for that DELETE for the row affected by the INSERT above would be:

data: ["COMPANY 5A","D6RJPwyuLXoLqQRQcOcouJ26KGxJSf6hgbu",6705362103919221351,0,"20130309113025",
"0916","USD","2.200",5150279519809946,41363,"Quicksand"]
metadata: {"TimeStamp":0,"TxnID":"","SEQUENCE":"00000028000001DE0002","PK_UPDATE":"false",
"TableName":"dbo.POSAUTHORIZATIONS","OperationName":"DELETE"}
before: null

Note that the contents of data and before are reversed from what you might expect for a DELETE operation. This simplifies programming since you can get data for INSERT, UPDATE, and DELETE operations using only the data field.

SQL Server readers data type support and correspondence

SQL Server type

MS SQL Reader TQL type

MSJet TQL type

notes

bigint

long

integer

binary

byte[]

byte[]

not included in before array for UPDATE or data array for DELETE operations: see cautionary note below

when reading from Azure SQL Database, supported only when values are less than 64 kb

bit

string

boolean

char

string

string

date

string

string

datetime

string

string

datetime2

string

string

datetimeoffset

string

string

decimal

string

string

float

double

string

geography

not supported

not supported

geometry

not supported

not supported

image

byte[]

byte[]

not included in before array for UPDATE or data array for DELETE operations: see cautionary note below

int

integer

integer

money

string

string

nchar

string

string

ntext

string

string

not included in before array for UPDATE or data array for DELETE operations: see cautionary note below

numeric

string

string

nvarchar

string

string

nvarchar(max)

string

string

included in before array for UPDATE operations only if value is changed by the update

real

float

string

rowversion

byte[]

byte[]

 

smalldatetime

string

string

smallint

short

short

smallmoney

string

string

sqlvariant

not supported

not supported

Columns of this type will have value null in WAEvent

text

string

string

not included in before array for UPDATE or data array for DELETE operations: see cautionary note below

time

string

string

timestamp

byte[]

byte[]

tinyint

short

short

udt

string

string

uniqueidentifier

string

string

varbinary

byte[]

byte

not included in before array for UPDATE or data array for DELETE operations: see cautionary note below

when reading from Azure SQL Database, supported only when values are less than 64 kb

varbinary(max)

byte[]

byte[]

not included in before array for UPDATE or data array for DELETE operations: see cautionary note below

when reading from Azure SQL Database, supported only when values are less than 64 kb

varchar

string

string

varchar(max)

string

string

included in before array for UPDATE operations only if value is changed by the update

xml

string

not supported

MS SQL Reader: included in before array for UPDATE operations only if value is changed by the update

MSJet: columns of this type type will have value null in in WAEvent

Caution

When all tables being read have primary keys and none of those primary key columns is of type binary, image, ntext, text, varbinary, or varbinary(max), you will not encounter the following issue.

When replicating MSSQLReader or MSJet output using DatabaseWriter, if one or more of a table's primary key columns is of type binary, image, ntext, text, varbinary, or varbinary(max), or if a table has no primary key and one more columns of those types, UPDATE or DELETE operations may erroneously be replicated to more than one row. This may result in additional errors when subsequent operations try to update or delete the missing or incorrectly updated rows.

Target data type support & mapping for SQL Server sources

The table below details how Striim maps the data types of a SQL Server source to the data types of a target such as Azure Synapse, BigQuery, Databricks, and so on when you create an application using a wizard with Auto Schema Creation, perform an initial load using Database Reader with Create Schema enabled, or run the schema conversion utility, or when Striim schema evolution creates or alters target tables.

SQL Server source data types rowversion and udt are not supported.

If your screen is not wide enough to display the whole table, click in a cell and drag left to view the right-hand columns.

SQL Server Data Type

Azure Synapse

BigQuery

Databricks

Db2 for z/OS

Fabric Mirror

MariaDB

MySQL

Oracle

PostgreSQL

Snowflake

Spanner

Spanner PG Dialect

SQL Server

Yellowbrick

BIGINT

bigint

int64

bigint

bigint

long

bigint

bigint

int

bigint

integer

INT64

int

bigint

bigint

BIGINT IDENTITY(p,s)

bigint, if 10 <= (p) <= 19

int64, if (p) <= 19

bigint, if (p) <= 19

bigint, if 10 <= (p) <= 19

long

bigint, if 10 <= (p) <= 19

bigint, if 10 <= (p) <= 19

int, if (p) <= 127

bigint, if 10 <= (p) <= 19

integer, if (p) <= 38

INT64, if (p) <= 20

int, if (p) <= 19

bigint, if 10 <= (p) <= 19

bigint, if 10 <= (p) <= 19

BINARY(p)

binary(p), if (p) <= 8000

binary, if (p) > 8000*

bytes, if (p) > 9223372036854775807*

bytes(p), if (p) <= 9223372036854775807

binary

binary(255), if (p) <= 127

blob, if (p) > 127*

bytes

binary(p), if (p) <= 255

binary(p), if (p) <= 255

BLOB

bytea, if (p) <= 2147483647

BINARY, if (p) <= 8388608

BINARY, if (p) > 8388608*

BYTES(MAX), if (p) > 10485760*

BYTES(p), if (p) <= 10485760

bytea, if (p) <= 1048576

binary(p), if (p) <= 8000

binary, if (p) > 8000*

character varying(40000)

BIT

BIT

boolean

boolean

Not supported

boolean

bool

bool

CHAR(5)

boolean

BOOLEAN

BOOL

boolean

BIT

boolean

CHAR

character(p)

string

string

character(p)

string

character(p)

character(p)

character(p)

character(p)

character(p)

STRING(p)

varchar(p)

character(p)

character(p)

CHAR(p)

character(p), if (p) <= 8000

varchar(8000), if (p) > 8000*

string

string

character(p), if (p) <= 255

clob(p), if 255 <= (p) <= 2147483647

string

character(p), if (p) <= 255

longtext, if 255 <= (p) <= 2147483647

character(p), if (p) <= 255

longtext, if 255 <= (p) <= 2147483647

clob, if (p) > 2000*

character(p), if (p) <= 2000

character(p), if (p) <= 10485760

text, if (p) > 10485760*

character, if (p) > 16777216*

character(p), if (p) <= 16777216

STRING(p), if (p) <= 2621440

varchar(p), if (p) <= 1048576

text, if (p) > 1048576*

character(p), if (p) <= 8000

varchar(max), if (p) > 8000*

character(p), if (p) <= 64000

DATE

date

date

date

date

date

date

date

date

date

date

DATE

date

date

date

DATETIME

datetime2

timestamp

timestamp

timestamp

timestamp-millis

datetime(s)

datetime(s)

timestamp(s)

timestamp(s) without time zone

timestamp

TIMESTAMP

timestamptz

datetime2

timestamp

DATETIME2

datetime2

timestamp

timestamp

timestamp

timestamp-millis

varchar(34)

varchar(34)

timestamp(s)

timestamp without time zone

timestamp

TIMESTAMP

timestamptz

datetime2

timestamp

DATETIME2(p)

datetime2

timestamp, if (s) <= 6

timestamp

timestamp

timestamp-millis

varchar(34), if (s) > 6*

datetime(s), if (s) <= 6

varchar(34), if (s) > 6*

datetime(s), if (s) <= 6

timestamp(s), if (s) <= 9

timestamp, if (s) > 9*

timestamp without time zone, if 29 <= (p) <= 29, if (s) > 6*

timestamp(s) without time zone, if (p) <= 29, if (s) <= 6

timestamp

TIMESTAMP

timestamptz, if 36 <= (p) <= 36*

timestamptz, if (p) <= 36, if (s) <= 6

datetime2

timestamp

DATETIMEOFFSET

datetimeoffset

timestamp

timestamp

timestamp with time zone

string

varchar(150)

varchar(150)

timestamp with time zone

timestamp with time zone

timestamp with time zone

TIMESTAMP

timestamptz

datetimeoffset

timestamptz

DATETIMEOFFSET(p)

datetimeoffset

timestamp, if (s) <= 6

timestamp

timestamp with time zone

string

varchar(150)

varchar(150)

timestamp with time zone

timestamp(s) with time zone, if (p) <= 35, if (s) <= 6

timestamp with time zone, if 35 <= (p) <= 35, if (s) > 6*

timestamp with time zone

TIMESTAMP

timestamptz, if 36 <= (p) <= 36*

timestamptz, if (p) <= 36, if (s) <= 6

datetimeoffset

timestamptz

DECIMAL

numeric(p,s)

numeric

decimal(p,s)

numeric(p,s)

decimal

decimal(p,s)

decimal(p,s)

number(p,s)

numeric(p,s)

numeric(p,s)

NUMERIC

numeric

numeric(p,s)

decimal(p,s)

DECIMAL(p,0)

numeric(p,s), if (p) <= 38, if (s) <= 38

bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

numeric(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 38

DECIMAL(p,s)

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

string, if (s) > 38*

string, if (p,s) > 39*

numeric, if (p) <= 29, if (s) <= 9

bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38

string, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 37

string, if (s) > 37*

numeric(p,s), if (p) <= 31, if (s) <= 30

numeric, if (s) > 30*

numeric, if (p,s) > 31*

string, if (p,s) > 38*

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT, if (p,s) > 65*

TEXT, if (s) > 30*

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT, if (p,s) > 65*

TEXT, if (s) > 30*

number, if (s) > 127*

number, if (p,s) > 38*

number(p,s), if (p) <= 38, if (s) <= 127

double precision, if (s) > 1000

double precision, if (p,s) > 1000

numeric(p,s), if (p) <= 1000, if (s) <= 1000

VARCHAR, if (s) > 37*

numeric(p,s), if (p) <= 38, if (s) <= 37

VARCHAR, if (p,s) > 38*

FLOAT64, if 9 <= (s) <= 15

FLOAT64, if 38 <= (p) <= 308

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

character varying, if (s) > 38*

character varying, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 38

FLOAT

float(p)

float64

float

real

double

double

double

float(p)

double precision

float

FLOAT64

float8

float(p)

double precision

FLOAT(p)

float(p), if (p) <= 53

varchar(8000), if (p) > 53*

float64, if (p) <= 308, if (s) <= 16

float

varchar(p), if (p) > 76*

real, if (p) <= 76

double, if (p) > 10

double, if (p) > 23*

double, if (p) > 23*

float, if (p) > 126*

float(p), if (p) <= 126

double precision, if (p) > 8

float

STRING(MAX), if (p) > 308*

STRING(MAX), if (s) > 15*

FLOAT64, if (p) <= 308, if (s) <= 15

float8, if (p) > 309

float8, if 38 <= (p) <= 309

float(p), if (p) <= 53

varchar(8000), if (p) > 53*

double precision, if (p) > 24*

GEOGRAPHY

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

GEOMETRY

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

HIERARCHYID

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

IMAGE

varbinary(8000)

bytes(p)

binary

blob(p)

bytes

longblob

longblob

BLOB

bytea

BINARY

BYTES(MAX)

Not supported

varbinary(max)

Not supported

INT

integer

int64

bigint

integer

int

integer

integer

int

integer

integer

INT64

int

integer

integer

INT IDENTITY(p,s)

integer, if 5 <= (p) <= 10

bigint, if 10 <= (p) <= 19

int64, if (p) <= 19

numeric, if (p,s) > 19

decimal(38), if (p,s) > 19*

bigint, if (p) <= 19

integer, if 5 <= (p) <= 10

bigint, if 10 <= (p) <= 19

int, if (p) <= 10

long, if (p,s) > 10

integer, if 7 <= (p) <= 10

bigint, if 10 <= (p) <= 19

integer, if 7 <= (p) <= 10

bigint, if 10 <= (p) <= 19

int, if (p) <= 127

integer, if 5 <= (p) <= 10

bigint, if 10 <= (p) <= 19

integer, if (p) <= 38

INT64, if (p) <= 20

NUMERIC, if 20 <= (p) <= 38

int, if (p) <= 19

float8, if (p,s) > 19*

integer, if 5 <= (p) <= 10

bigint, if 10 <= (p) <= 19

integer, if 5 <= (p) <= 10

bigint, if 10 <= (p) <= 19

MONEY

money

string

string

varchar(150)

string

varchar(150)

varchar(150)

VARCHAR2(150)

numeric

varchar(150)

STRING(150)

varchar(150)

money

character varying(150)

NCHAR

nchar(p)

string

string

character(p)

string

nchar(p)

nchar(p)

nchar(p)

character(p)

character(p)

STRING(p)

varchar(p)

nchar(p)

character(p)

NCHAR(p)

nchar(p), if (p) <= 4000

nvarchar(4000), if (p) > 4000*

string

string

character(p), if (p) <= 255

clob(p), if 255 <= (p) <= 2147483647

string

nvarchar(p), if 255 <= (p) <= 65535

nchar(p), if (p) <= 255

nvarchar(p), if 255 <= (p) <= 65535

nchar(p), if (p) <= 255

nclob, if (p) > 1000*

nchar(p), if (p) <= 1000

character(p), if (p) <= 10485760

text, if (p) > 10485760*

character, if (p) > 16777216*

character(p), if (p) <= 16777216

STRING(p), if (p) <= 2621440

varchar(p), if (p) <= 1048576

text, if (p) > 1048576*

nchar(p), if (p) <= 4000

nvarchar(max), if (p) > 4000*

character(p), if (p) <= 64000

NTEXT

nvarchar(4000)

string

string

clob

string

LONGTEXT

LONGTEXT

nclob

text

VARCHAR

STRING(MAX)

text

nvarchar(max)

character varying

NUMERIC

numeric(p,s)

numeric

decimal(p,s)

numeric(p,s)

decimal

decimal(p,s)

decimal(p,s)

number(p,s)

numeric(p,s)

numeric(p,s)

NUMERIC

numeric

numeric(p,s)

decimal(p,s)

NUMERIC IDENTITY(p,s)

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

bignumeric, if 9 <= (s) <= 38

numeric, if (p) <= 29, if (s) <= 9

bignumeric, if 29 <= (p) <= 39

string, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 37

string, if (s) > 37*

numeric(p,s), if (p) <= 31, if (s) <= 30

numeric, if (s) > 30*

numeric, if (p,s) > 31*

string, if (p,s) > 38*

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT, if (p,s) > 65*

TEXT, if (s) > 30*

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT, if (p,s) > 65*

TEXT, if (s) > 30*

number, if (s) > 127*

number, if (p,s) > 38*

number(p,s), if (p) <= 38, if (s) <= 127

double precision, if (s) > 1000

double precision, if (p,s) > 1000

numeric(p,s), if (p) <= 1000, if (s) <= 1000

VARCHAR, if (s) > 37*

numeric(p,s), if (p) <= 38, if (s) <= 37

VARCHAR, if (p,s) > 38*

FLOAT64, if 9 <= (s) <= 15

FLOAT64, if 38 <= (p) <= 308

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

character varying, if (s) > 38*

character varying, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 38

NUMERIC(p,0)

numeric(p,s), if (p) <= 38, if (s) <= 38

bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

numeric(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 38

NUMERIC(p,s)

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

string, if (s) > 38*

string, if (p,s) > 39*

bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38

string, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 37

string, if (s) > 37*

numeric(p,s), if (p) <= 31, if (s) <= 30

numeric, if (s) > 30*

numeric, if (p,s) > 31*

string, if (p,s) > 38*

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT, if (p,s) > 65*

TEXT, if (s) > 30*

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT, if (p,s) > 65*

TEXT, if (s) > 30*

number, if (s) > 127*

number, if (p,s) > 38*

number(p,s), if (p) <= 38, if (s) <= 127

double precision, if (s) > 1000

double precision, if (p,s) > 1000

numeric(p,s), if (p) <= 1000, if (s) <= 1000

VARCHAR, if (s) > 37*

numeric(p,s), if (p) <= 38, if (s) <= 37

VARCHAR, if (p,s) > 38*

FLOAT64, if 9 <= (s) <= 15

FLOAT64, if 38 <= (p) <= 308

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

character varying, if (s) > 38*

character varying, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 38

NVARCHAR

nvarchar(p)

string

string

varchar(p)

string

nvarchar(p)

nvarchar(p)

NVARCHAR2(p)

character varying(p)

VARCHAR(p)

STRING(p)

varchar(p)

nvarchar(p)

character varying(p)

NVARCHAR(max)

nvarchar(4000), if (max) > 4000*

string

string

clob(p), if 4045 <= (p) <= 2147483647

string

longtext, if (max) > 65535*

longtext, if (max) > 65535*

nclob, if (max) > 4000*

character varying, if (max) > 10485760*

VARCHAR, if (max) > 16777216*

STRING(MAX), if (max) > 2621440

text, if (max) > 1048576*

nvarchar(max), if (max) > 4000*

character varying, if (max) > 64000*

NVARCHAR(p)

nvarchar(p), if (p) <= 4000

string

string

varchar(p), if (p) <= 4045

string

nvarchar(p), if (p) <= 65535

nvarchar(p), if (p) <= 65535

NVARCHAR2(p), if (p) <= 4000

character varying(p), if (p) <= 10485760

VARCHAR(p), if (p) <= 16777216

STRING(p), if (p) <= 2621440

varchar(p), if (p) <= 1048576

nvarchar(p), if (p) <= 4000

character varying(p), if (p) <= 64000

REAL

float(p)

float64

float

real

double

float

float

float

double precision

float

FLOAT64

float4

float(p)

real

REAL(p)

float(p), if (p) <= 53

float64, if (p) <= 308, if (s) <= 16

float

real, if (p) <= 76

double

float, if (p) <= 38

float, if (p) <= 38

float, if (p) <= 126

double precision

float, if (p) <= 38

FLOAT64, if (p) <= 308, if (s) <= 15

float4, if (p) <= 38

float(p), if (p) <= 53

real

SMALLDATETIME

datetime2

timestamp

timestamp

timestamp

timestamp-millis

datetime(s)

datetime(s)

timestamp(s)

timestamp(s) without time zone

timestamp

TIMESTAMP

timestamptz

datetime2

timestamp

SMALLINT

smallint

int64

bigint

smallint

int

smallint

smallint

int

smallint

integer

INT64

int

smallint

smallint

SMALLINT IDENTITY(p,s)

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

int64, if (p) <= 19

numeric, if (p,s) > 19

decimal(38), if (p,s) > 19*

bigint, if (p) <= 19

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

int, if (p) <= 10

long, if (p,s) > 10

smallint, if 3 <= (p) <= 5

mediumint, if 5 <= (p) <= 7

smallint, if 3 <= (p) <= 5

mediumint, if 5 <= (p) <= 7

int, if (p) <= 127

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

integer, if (p) <= 38

INT64, if (p) <= 20

NUMERIC, if 20 <= (p) <= 38

int, if (p) <= 19

float8, if (p,s) > 19*

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

SMALLMONEY

smallmoney

string

string

varchar(150)

string

varchar(150)

varchar(150)

VARCHAR2(150)

numeric

varchar(150)

STRING(150)

varchar(150)

smallmoney

character varying(150)

SQL_VARIANT

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

Not supported

TEXT

varchar(8000)

string

string

clob(p)

string

LONGTEXT

LONGTEXT

clob

text

VARCHAR

STRING(MAX)

Not supported

varchar(max)

character varying

TIME

time

string

string

time

time-millis

varchar(150)

varchar(150)

VARCHAR2(150)

time

time

STRING(150)

varchar(150)

time

time

TIME(p)

time

string, if (s) > 6*

time, if (s) <= 6

string

time

time-millis

varchar(150), if (s) > 6*

time(s), if (s) <= 6

varchar(150), if (s) > 6*

time(s), if (s) <= 6

VARCHAR2(150)

time(s), if (p) <= 15, if (s) <= 6

time, if (p) > 15, if (s) > 6*

time

STRING(150)

varchar(150)

time

time

TIMESTAMP

varbinary(8000)

bytes

binary

blob

bytes

longblob

longblob

BLOB

bytea

BINARY

BYTES(MAX)

bytea

varbinary(max)

character varying

TINYINT

tinyint

int64

bigint

smallint

int

tinyint unsigned

tinyint unsigned

int

smallint

integer

INT64

int

tinyint

smallint

TINYINT IDENTITY(p,s)

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

int64, if (p) <= 19

numeric, if (p,s) > 19

decimal(38), if (p,s) > 19*

bigint, if (p) <= 19

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

int, if (p) <= 10

long, if (p,s) > 10

tinyint, if (p) <= 3

smallint, if 3 <= (p) <= 5

tinyint, if (p) <= 3

smallint, if 3 <= (p) <= 5

int, if (p) <= 127

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

integer, if (p) <= 38

INT64, if (p) <= 20

NUMERIC, if 20 <= (p) <= 38

int, if (p) <= 19

float8, if (p,s) > 19*

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

integer, if 5 <= (p) <= 10

smallint, if (p) <= 5

UNIQUEIDENTIFIER

varchar(p)

string

string

varchar(p)

string

varchar(p)

varchar(p)

VARCHAR2(p)

character varying(p)

VARCHAR(p)

STRING(p)

varchar(p)

varchar(p)

character varying(p)

VARBINARY

varbinary(p)

bytes(p)

binary

varbinary(4046)

bytes

varbinary(p)

varbinary(p)

BLOB

bytea

VARBINARY

BYTES(p)

bytea

varbinary(p)

character varying(p)

VARBINARY(max)

varbinary(8000), if (max) > 8000*

bytes, if (max) > 9223372036854775807*

bytes(p), if (p) <= 9223372036854775807

binary

blob, if (max) > 1011*

bytes

varbinary(65535), if (max) > 65535

varbinary(65535), if (max) > 65535

BLOB

bytea, if (p) <= 2147483647

bytea, if (max) > 2147483647*

VARBINARY

BYTES(MAX), if (max) > 10485760*

bytea

varbinary(max), if (max) > 8000*

character varying, if (max) > 64000*

VARBINARY(p)

varbinary(p), if (p) <= 8000

bytes(p), if (p) <= 9223372036854775807

binary

blob

varbinary(4046), if (p) <= 1011

bytes

varbinary(p), if (p) <= 65535

varbinary(p), if (p) <= 65535

BLOB

bytea, if (p) <= 2147483647

VARBINARY

BYTES(p), if (p) <= 10485760

bytea, if (p) <= 1048576

varbinary(p), if (p) <= 8000

character varying(p), if (p) <= 64000

VARCHAR

varchar(p)

string

string

varchar(p)

string

varchar(p)

varchar(p)

VARCHAR2(p)

character varying(p)

VARCHAR(p)

STRING(p)

varchar(p)

varchar(p)

character varying(p)

VARCHAR(max)

varchar(8000), if (max) > 8000*

string

string

clob(p), if 4045 <= (p) <= 2147483647

string

longtext, if 65535 <= (p) <= 2147483647

longtext, if (max) > 2147483647*

longtext, if 65535 <= (p) <= 2147483647

longtext, if (max) > 2147483647*

clob, if (max) > 4000*

character varying, if (max) > 10485760*

VARCHAR, if (max) > 16777216*

STRING(MAX), if (max) > 2621440

text, if (max) > 1048576*

varchar(max), if (max) > 8000*

character varying, if (max) > 64000*

VARCHAR(p)

varchar(p), if (p) <= 8000

varchar(8000), if (p) > 8000*

string

string

clob(p), if 4045 <= (p) <= 2147483647*

varchar(p), if (p) <= 4045

string

longtext, if 65535 <= (p) <= 2147483647*

varchar(p), if (p) <= 65535

longtext, if 65535 <= (p) <= 2147483647*

varchar(p), if (p) <= 65535

clob, if (p) > 4000*

VARCHAR2(p), if (p) <= 4000

character varying(p), if (p) <= 10485760

character varying, if (p) > 10485760*

VARCHAR, if (p) > 16777216*

VARCHAR(p), if (p) <= 16777216

STRING(MAX), if (p) > 2621440

STRING(p), if (p) <= 2621440

varchar(p), if (p) <= 1048576

text, if (p) > 1048576*

varchar(max), if (p) > 8000*

varchar(p), if (p) <= 8000

character varying, if (p) > 64000*

character varying(p), if (p) <= 64000

XML

varchar(8000)

string

string

xml

string

LONGTEXT

LONGTEXT

xmltype

xml

varchar

STRING(MAX)

varchar(p)

xml

character varying

*When using the schema conversion utility, these mappings appear in converted_tables_with_striim_intelligence.sql.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy