Was this helpful?
SQL Server 2022 Multimode
SQL Server 2022 is a database application that you can connect to directly or through ODBC. This connector uses the SQL Server ODBC Driver 18 (ODBC18), which must be installed on your system. The ODBC18 driver enables users to develop ODBC applications using Always Encrypted (Database Engine) or Always Encrypted with secure enclaves. An Always Encrypted-enabled ODBC driver achieves this security by transparently encrypting and decrypting sensitive data in the client application.
This connector requires that a trusted certificate is installed on the SQL Server (see Install a trusted certificate on a SQL Server). This connector is compatible with Windows and Linux.
You can quickly setup a multimode connector using the multimode wizard. For more information, see Setting Up Multimode Target Connector Using Multimode Wizard.
Prerequisites
Before using the connector, make sure you perform the following:
Install SQL Server ODBC Driver 18.
Obtain the SQL Server 2022 Multimode Server URL, Source Database, User ID, and Password.
Connector-Specific Notes
Do not include a period (.) in the table name.
Connector Parts
The SQL Server 2022 Multimode connector requires that users specify the full path for the Server connector part. For example, testdb.company.com rather than testdb.
Connector parts are the fields you configure to connect with a data source or target. The fields that are available depend on the connector you select.
Multimode connectors are target only connectors. For a list of all parts for target connectors, see Specifying Target Connector, Parts, and Properties.
Connector Properties
You can specify the following target properties:
Property
Description
Encoding
Type of character encoding to use with source and target files. The default value is OEM.
Shift-JIS encoding is used only in Japanese operating systems.
UCS-2 is no longer considered a valid encoding name, but you may use UCS2. In the data file, change UCS-2 to UCS2.
Note:  This property is not encoding of the database that you connect to, but it is the encoding in which the connector expects to receive SQL query statements that must be sent to the database.
SQL Output
Output mode for SQL statements. There are four output modes:
Target Only (default) - Uses bound mode, which uses bind variables. SQL statements are sent to the Target and not to the SQL log specified in the SQL Log property.
Target Only (Unbound mode) - Uses unbound mode, which does not use bind variables and sends the literal SQL statement to the database engine. SQL statements are sent to the Target and not to the SQL log specified in the SQL Log property.
Target and SQL Log - Sends SQL statements to the Target and to the SQL log specified in the SQL Log property.
SQL Log Only - Sends SQL statements only to the SQL log file specified in the SQL Log property.
Note:  Bound mode is faster since bind variables are used.
SQL Log
SQL log file in the default installation directory. The default file name is sql.log. To use a different log, browse to the file or enter the path and file name.
Note:  SQL statements are sent to the SQL Log file only if the SQL Output property is set to either Target and SQL Log or SQL Log Only.
UpdateNullfields
If set to True, null values are sent to the database when inserting or updating records.
If set to False, null values are not sent to the database when inserting or updating records. Also, this property forces the connector to operate in unbound mode, which may cause slower performance. The default value is True.
Best Practice - If fields in the target record are not mapped, then the null values are passed to the target. If you do not want to write to these fields, then it is recommended to set the value for UpdateNullFields to False.
SystemTables
If set to True, allows you to see all tables created by the Database Administrator (DBA) in the database. The system table names appear in the table list. The default value is False.
Note:  This property is applicable only if you have logged in to the database as the DBA. Only the DBA has access to system tables.
Views
If set to True, this property allows you to see the view names in the table list along with the table names. Default is True.
Note:  This property supports only Append and DeleteAndAppend output modes and does not support the Replace output mode.
AutoCommit
Automatically commit changes as they are made by each SQL statement, instead of waiting until the end of the transaction. If this option is set to True, you cannot roll back the changes after they are done. The default value is False.
IdentifierQuotes
Quoted identifiers are used to parse the SQL statement and distinguish between columns and character data in SQL statements. All databases have quoted identifiers.
In a SQL statement, you must enclose identifiers containing special characters or match keywords in identifier quote characters (also known as delimited identifiers in SQL-92). For example, the Accounts Receivable identifier is quoted in the following SELECT statement:
SELECT * FROM "Accounts Receivable"
If you do not use identifier quotes, the parser assumes there are two tables, Accounts and Receivable, and returns a syntax error that they are not separated by a comma.
If either of the following values contain a space, set the identifierQuotes property on the source and the target to ““ or Default:
the value of the source connector part Table/View field.
the value of a source column name (for example, Account Number).
Otherwise, if the IdentifierQuotes property is set to None, a SQL error is returned and the source table data is not displayed.
IdentifierQuotes has three options:
Default
None
MaxDataLength
Maximum number of characters to write to a field. It is the maximum data length for long data types. The default value is 1 MB. You can change this value based on the available memory and target requirements.
When this connector requests the column field size for these data types, it checks for a returned value greater than the MaxDataLength value. If the value is greater, then the MaxDataLength value is used.
Some ODBC drivers have maximum data length limitations. If you choose an ODBC source or target connector and the default setting is not 1 MB, the integration platform sets the value for that particular ODBC driver. In this case, do not set the MaxDataLength property to a higher value.
TransactionIsolation
Allows you to specify an isolation level when reading from or writing to a database table with ODBC. The isolation levels are:
Read uncommitted - Permits P1, P2, and P3.
Read committed - Permits P2 and P3. Does not permit P1.
Repeatable read - Permits P3. Does not permit P1 and P2.
Serializable - Does not permit P1, P2 or P3.
The default is Serializable.
The ANSI SQL 2 standard defines three specific ways in which serializability of a transaction may be violated: P1 (Dirty Read), P2 (Nonrepeatable Read), and P3 (Phantoms).
For further details about TransactionIsolation levels, see the IBM DB2 Universal Database ODBC documentation.
Supported Data Types
The following data types are supported:
Exact numerics:
bigint
numeric
bit
smallint
decimal
smallmoney
int
tinyint
money
Note:  The bigint identity, decimal() identity, numeric() identity, smallint identity, and tinyint identity data types are Id numbers that are read-only and cannot be used as target.
Approximate numerics:
float
real
Date and time:
date
datetimeoffset
datetime2
smalldatetime
datetime
time
timestamp
Character strings:
char
varchar
text
Unicode character strings:
nchar
nvarchar
ntext
Binary strings:
binary
varbinary
image
Other data types:
uniqueidentifier
sql_variant
xml
sysname
Note:  timestamp, uniqueidentifier, and sysname are read-only and system generated. Hence, cannot be used as target.
Supported Output Modes
SQL Server 2019 Multimode connector supports the Multimode output mode. For more information, see Target Output Modes.
Additional Information
Automatically generated identifiers datatypes such as rowversion, timestamp, sysname, bigint identity, decimal identity, int identity, numeric identity, smallint identity, tinyint identity can be used as target field. However, do not map them.
Install a trusted certificate on a SQL Server
1. If the certificate is in PEM format, convert it to PFX format as follows:
openssl pkcs12 -export -out certificate.pfx -in ActianStar.pem
2. From the Start menu, click Run.
The Run dialog opens.
3. In the Open field, enter MMC, then click OK.
The MMC console opens.
4. Select Add/Remove Snap-in from the File menu.
5. Select Certificates, then click Add.
The Certificates snap-in dialog console opens.
6. Select Computer account, Next, Finish, then click OK.
7. In the MMC console left panel, expand the Certificates (Local Computer) > Personal > Certificates folder.
8. Right-click on the Certificates folder, select All Tasks, then click Import.
The Certificate Import Wizard opens.
9. Use the Import Wizard to add a certificate to your computer. When finished adding a certificate, close all open windows.
10. Open the SQL Server Configuration Manager, and expand SQL Server Network Configuration.
11. Right-click on Protocols for <instance Name>, then select Properties.
The Protocols for <instance Name> Properties dialog opens.
12. In the Flags tab, change ‘Force Encryption’ to yes.
13. In the Certificate tab, select the certificate from the drop down menu, then click OK.
14. Select SQL Server Services (in the left panel), then double-click the SQL Server instance (in the right panel).
The SQL Server <instance Name> Properties dialog opens.
15. In the Log On tab, select Local System from the Built-in Account drop down menu, then click Restart.
Last modified date: 12/03/2024