User Guide : Map Connectors : Source and Target Map Connectors : Microsoft SQL Azure
 
Share this page                  
Microsoft SQL Azure
The Microsoft SQL Azure Database is a cloud-based platform that uses SQL Server technologies. The relational database management service leverages the Microsoft distribution data center, which provides enterprise-level security and scalability.
The Microsoft SQL Azure connector allows you to create, read, update, merge, and delete data in Microsoft SQL Azure database tables.
Connector-Specific Notes
To connect to a data table in a Microsoft SQL Azure database, you must have SQL Server 2008 Native Client installed on your server.
To connect to a Microsoft SQL Azure database, enter the name of the server hosting the client software, your user ID, password (if needed), and database name.
The name of the server must be the fully qualified instance name in the format: instancename.database.windows.net
where instancename is the unique name of your instance.
For example: tcp:myinstancename.database.windows.net
Note:  The Microsoft SQL Azure Multimode connector makes a direct connection to the Microsoft SQL Azure ODBC driver. No DSN is required.
You can write data to an existing Microsoft SQL Azure target either in Replace or Append mode. The Replace output mode removes and recreates the target file or table and destroys any data contained in that file or table. The Append output mode adds data to your tables.
The WhereStmt property, which allows you to filter table data, is supported with only the Table/View option.
You can use an EZScript to auto-generate a GUID for a variable declared as the uniqueidentifier data type. See Generating a Random Unique Identifier.
Property Options
You can set the following source (S) and target (T) properties.
Property
S/T
Description
Autocommit
T
Allows automatic commitment of changes as they are made by each SQL statement, instead of waiting until the end of the transaction. If set to true, you cannot roll back changes. Default is false.
BulkOperations
T
Determines if an insert statement is executed for each record or a bulk add is executed for each record. Default is false, the slower setting. To maximize speed and instruct the integration platform to use a bulk add, set to true.
CommitFrequency
T
Controls how often data is committed to the database. Default is zero, meaning that data is committed at the end of the transformation, allowing rollback on error. This is the slowest setting. When doing large transformations, this is not practical as it may produce too many transaction log entries. Setting the CommitFrequency to some nonzero value tells the connector to do a database commit after inserting or updating the specified number of records. This keeps the transaction log from getting too large but limits the restartability of the transformation.
ConstraintDDL
T
Specifies additional SQL data definition language statements to be executed after the target table is created. This is similar to the support provided for SQL passthrough in the SQL import connectors. Each line must be a valid SQL DDL statement. No default exists for this property. This option works only in Replace mode.
CursorType
S
Type of cursor to use for retrieving records from source table. Choices are Forward Only, Static, and Dynamic. Default is Forward Only. For more information, see Cursors.
Encoding
ST
Character encoding used with XML source and target files.
Note:  Shift-JIS encoding is used only in Japanese operating systems. UCS-2 is no longer a valid encoding name, but you may use UCS2 by changing the string value in the XML file.
Default is OEM.
IdentifierQuotes
ST
Quoted identifiers are used to make the SQL statement parsable and to distinguish between columns and character data in SQL statements. For example, Oracle uses double quotes for column and table names in SQL statements and uses single quotes for character data. In a SQL statement, you should 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 two tables, Accounts and Receivable, and returns a syntax error that they are not separated by a comma.
The integration platform provides four options for IdentifierQuotes: Default, None, " and '. Default is the default.
MaxDataLength
ST
Maximum data length for long data types. Default is 1 MB. You can reset this number based on available memory and target requirements.
Some ODBC drivers have limitations concerning the maximum data length they can handle. If you choose an application (ODBC) source or target connector and the default setting is not 1 MB, the integration platform presets the default in respect for the capabilities of that particular ODBC driver, and it is not recommended to set MaxDataLength any higher.
PrimaryKey
T
Sets a list of field names used to make the primary key. Field names are delimited by commas. If the PrimaryKey property contains one or more field names, these names are included in the SQL Create statement when the connector is in replace mode. No default exists for this property.
This property has one additional requirement for use. The driver must support integrity enhancement facility (IEF).
SystemTables
ST
If set to true, this property 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.
Transactionisolation
ST
Allows setting of the transaction isolation level for reading or writing tables.
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).
The following isolation levels are supported. Default is Serializable.
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 (default)– Does not permit any of P1, P2, and P3
For more information, see the Microsoft ODBC SDK documentation.
UseCursors
T
Turns cursor support on and off. Default is false. If set to true and the specified driver does not support cursor inserts, the integration platform uses the SQL INSERT mode of adding records.
For exports, cursor support is supposed to enhance the performance of inserting records. This appears to be the case for desktop databases. For database servers, insert speed shows no noticeable change. These servers execute prepared queries as quickly as they handle cursor inserts.
Some drivers require that the target table be indexed, and if not, then positioned updates (cursors) are not allowed. Two additional properties in the ODBC export connector address this issue: PrimaryKey and ConstraintDDL.
Views
ST
If set to true (default), allows you to see views. View names appear in the table list along with table names.
WhereStmt
S
Provides a passthrough mechanism for SQL connectors where advanced users can construct the Where clause of the SQL query. Omit WHERE when you enter the clause. No default exists for this property.
Note:  When the source connection is a Select statement, do not apply the WhereStmt. Instead, include the Where clause in your Select statements. This property enables data filtering when you select a table.
ArraySize
T
Determines the number of rows to be sent to the server at one time. The default value is 1, meaning each row is individually sent to the server. Larger values will buffer multiple rows and send them all at once. While this improves the speed, it affects error reporting (a server error won't be detected/reported until the next batch of records is sent to the server).
The maximum value allowed for this property is 100000. While the connector allows the value to be set that high, many drivers have lower limits. The connector will log a message indicating if the driver is forcing a lower value for the array size. In addition, the connector does not support arrays when there is a LOB-type field in the table, or when the (maximum) length of a character-type field is longer than 32767 characters. In these cases, a message will be logged indicating the array size has been reduced to 1.
Due to the way the connector attempts to support older drivers, the array support requires either BulkOperations be true (which means UseCursors must also be true), or both must be false. The condition where BulkOperations is false and UseCursors is true will cause the array size to be reset to 1, with a message logged indicating this condition occurred.
Data Types
The following data types (the types of the fields in a table) are supported.
Note:  If you are appending data to an existing table, the data type of each field uses the data type in the selected table by default.
bigint
bigint identity
binary
bit
char
date
datetime
datetime2
datetimeoffset
decimal
decimal() identity
float
image
int
int identity
money
nchar
ntext
nvarchar
numeric
numeric() identity
real
smalldatetime
smallint
smallint identity
smallmoney
sql_variant
sysname
text
time
timestamp
tinyint
tinyint identity
uniqueidentifier
varbinary
varchar
xml