User Guide : Map Connectors : Source and Target Map Connectors : Netezza
Share this page             
Netezza is a data warehouse appliance that integrates a relational database with server and storage hardware. The integration platform connects to Netezza databases using the ODBC 3.5 connector.
Connectivity Pointers
If your database has many tables, selecting the table from a list may take more time than typing the UserID.Tablename value in the Source Table/View box. If you enter the table name without the user ID and then connect to the database, you can reselect the table in the source data browser to view it.
If possible, create query statements using the source database application, so that syntax and validity can be checked by the native application. You can then copy the query statement and paste it in the Query Statement Box.
Connector-Specific Notes
Netezza can use three ODBC drivers: 3.0.5, 3.14, and 4.0, with the following limitations and known issues:
Only the 4.0 driver supports national character data types, such as NCHAR and NVARCHAR.
In testing with a Netezza Latin-9 database, the 3.14 driver gives best performance when uploading and downloading.
When using the 4.0 driver, do not enter a password to create the Netezza ODBC data source because a defect in the driver causes the connection to fail.
Properties Options
These are properties that you may need to specify for your source or target data.
Caution!  Changing property option values other than WhereStmt is not supported. Leave the source and target property options set to their defaults.
You can set the following source (S) and target (T) properties.
If set to True, it allows you to automatically commit changes as they are made by each SQL statement, instead of waiting until the end of the transaction.
Also, if this option is set to True, you cannot roll back changes after they are done. It will overwrite the CommitFrequency value, which means that the changes are committed by each SQL statement irrespective of the value set for CommitFrequency.
The default value is False.
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. If you want to maximize speed and instruct the integration platform to use a bulk add, set to true.
Allows you to control how often data is committed to the database when the AutoCommit property is set to False.
The default value is zero that is, the data is committed at the end of the transformation, allowing rollback on error. This is the slowest setting. When performing large transformations, this is not practical as it may produce too many transaction log entries.
Specifying a nonzero value indicates that data is committed to the database after inserting or updating specified number of records.
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.
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.
Controls whether the driver prompts the user for information.
Prompt – Prompts for every individual bit of information.
Complete (default) – Prompts only for missing information.
Complete Required – Prompts only for information needed to complete a connection.
No Prompt – Does not prompt for any information.
Enter any valid ODBC connect string options. No default.
Data sources or drivers to connect to in the Data Source Name (DSN) list. DSNs are listed in Control Panel > Administrative Tools > ODBC Data Source Administrator window. The options are:
User: Created for a specific user. DSN information is stored in the registry.
System: Can be used by anyone who has access to the machine. DSN information is stored in the registry.
User & System: This is the default option.
For more information, see Configuring ODBC Data Source.
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.
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.
IdentifierQuotes has four options:
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.
Allows storing of the ODBC connection. Default is true. If set to false, prompts for connection information each time the transformation runs.
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. Present only in Target GUI not in Source GUI.
This property has one additional requirement for use. The driver must support integrity enhancement facility (IEF).
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, 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.
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 – Does not permit any of P1, P2, and P3
Versioning – Provides Serializable transactions but does so without significant impact on concurrency.
For more information, see the Microsoft ODBC SDK documentation.
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.
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.
Provides a pass-through mechanism for SQL connectors where advanced users can construct the Where clause of the SQL query themselves. It can be used as an alternative to writing a lengthy query statement. You may use this to instruct the SQL database server to filter the data based on a particular condition before sending it to the integration platform. There is no default value for this property.
Note:  This property is not applicable when the source connection is a query statement or file. This property enables data filtering when you select a table.
Determines the number of rows to be sent to the server at one time. The default value is 1000, 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 BulkOperations and UseCursors is set to True or both must be set to False. If BulkOperations is False and UseCursors is True, then the array size is ignored and a message is logged indicating this condition.
ConstraintDDL Example
The following example illustrates use of the ConstraintDDL setting.
CREATE UNIQUE INDEX index1 ON mytable (Field1 ASC)
CREATE INDEX index2 ON mytable (Field2, Field3)
These statements create two indices on the table mytable. The first index does not allow duplicates and index values are stored in ascending order. The second is a compound index on fields Field2 and Field3.
The ConstraintDDL is executed only if replace mode is used for the target. If there are errors, they are written to the error and event log file. An error during transformation brings up the transformation error dialog box. If you want to ignore the DDL errors, you may continue the transformation.
ConstraintDDL also supports an escaping mechanism that allows users to specify DDL in the native SQL of the DBMS. Any statement that is preceded by an "@" is sent straight to the DBMS.
Data Types
This connector supports the major Netezza data types.
These are field lengths in your data. If you need to change field lengths, reset them in the schema.