User Guide : Map Connectors : Source and Target Map Connectors : SQL Server 2005 Multimode
Share this page             
SQL Server 2005 Multimode
SQL Server 2005 is a database application that you can connect to directly or through ODBC 3.x. The integration platform supports concurrent writes to multiple target tables within a SQL RDBMS, such as with this SQL Server 2005 Multimode connector.
Multimode connectors allow you to perform multiple operations (Change Source or Target, table drops, table inserts, etc.) directly on your target database within the same transformation.
Tip...  Under Server Name, enter the name of your server. If SQL Server is installed locally, leave this line blank.
Connector-Specific Notes
Target Schema modification: In multimode targets, modifications to column names, data types, and sizes are not permitted.
Transaction Control: SQL Server 2005 does not allow mixing of API-level transaction control and Transact-SQL control. If you want explicit control of transactions, use Target Only (Unbound) mode, which does not use bind variables. The Target Only mode uses bind variables for speed (the side effect is less control of transactions).
Transaction Support: When a transformation starts, it is in AutoCommit mode (for example, every statement is considered a separate unit of work and is automatically committed). To operate in Explicit mode, do a BEGIN TRANSACTION statement. For Implicit mode, use a SET IMPLICIT_TRANSACTIONS ON Statement.
Property Options
You can set the following source (S) and target (T) properties.
The connector uses encoding to translate user names and query statements to Unicode before passing them on to SQL Server. The default is OEM.
The default is sql.log in the default installation directory. To use a different log, browse to the file, or enter the path and file name.
SQL Output
Allows you to select bound or unbound mode and whether or not to write SQL statements to a SQL log. Keep in mind that bound mode is faster as bind variables are used. Select from the following options:
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.
If set to true, allows you to see synonyms. The alias names appear in the table list along with the tables. Default is false.
If set to true, allows you to see all tables created by the DBA in the database. The system table names appear in the table list. Default is false.
Note:  This property is applicable only if the user is logged onto the database as the database administrator. Only the DBA has access to system tables.
Allows you to specify isolation level when reading from or writing to a database table with ODBC. The default is Serializable.
The ANSI SQL 2 standard defines three ways in which serializability of a transaction may be violated: P1 (Dirty Read), P2 (Nonrepeatable Read), and P3 (Phantoms).
The isolation levels are as follows:
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 any of P1, P2, and P3.
NONE- Does not start a transaction.
For further details about TransactionIsolation levels, see the Microsoft ODBC SDK documentation.
Best Practice — Null values are sent to the database when inserting or updating records. The default is true. If you select False, null values are not sent to the database when inserting or updating record and the connector is forced to operate in unbound mode, which may cause slower performance.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.
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.
Encoding Notes
Shift-JIS encoding is meaningful only in Japanese operating systems.
UCS-2 is no longer considered a valid encoding name, but you may use UCS2. In the XML file, change UCS-2 to UCS2.
The Encoding property is not the encoding of the database that you connect to, but rather the encoding in which the connector expects to receive SQL query statements to be sent to the database.
Data Types
ID field types are not supported.
Note:  When your target is SQL Server 2005, you can set the maximum length of variable length data types (such as varchar, nvarchar, varbinary) beyond the maximum 8000 KB. The maximum can be up to 231–1 (2 GB – 1). If the length supplied is more than 8000, the engine automatically sets the MAX argument.