JDBC Writer Parameters
Database Connections
Database formats include a Database Connection parameter that defines and stores authentication information. For general information about sharing database connections, please see Using Database Connections. Note that Database Connection parameters may differ slightly, depending on context and/or database format. |
Select an existing connection, or Add Database Connection to define a new connection.
The new connection can be made visible only to the current user, or can be shared among multiple users.
Connection Parameters
The connection string for the database to which you are connecting. The precise format depends on the JDBC driver being used, but a connection string will always start with:
jdbc:<subprotocol>:
See the FME Knowledge Center for information about the compatibility of various JDBC drivers with FME, and to view Workbench examples.
If not specified in the JDBC Connection String, enter the username and password to access the database.
In most cases, this parameter is not required for well-behaved JDBC 4.0+ drivers. However, in order for the connection string to be processed only by the desired driver, we recommend specifying the name of the Java class of the desired driver.
This parameter is required for drivers that do not self-register.
Note: Some drivers that self-register may incorrectly handle connection strings that were intended for other drivers, which may return errors. Specifying Java Driver Class can force the connection string to be processed by only the desired driver.
Yes: Connection strings for database connections are masked in translation and error logs. Connection strings may contain sensitive information, such as passwords. A masked connection string appears as:
jdbc:<subprotocol>:************
WARNING: Connection strings for connections whose parameters are embedded in the workspace are not masked, regardless of this setting.
No: Connection strings are logged in plain text.
Advanced Settings
The number of features that FME places in each transaction before a transaction is committed to the database.
The default value is 1000.
This parameter defines the time, in seconds, after which a query will be terminated if it has not yet returned a result.
If set to zero, there is no timeout. The default is 30.
Note: If this value is not set high enough, then the query will return the error Provider Error - Timeout Expired.
This parameter allows for the execution of SQL statements before opening a table for writing. For example, it may be necessary to drop a constraint before attempting to write to it. The statements will be executed only when the first feature arrives at the writer.
For detailed information about SQL functions, click the corresponding menu item in the
.Available menu options depend on the format.
Multiple SQL commands can be delimited by a character specified using the FME_SQL_DELIMITER
directive, embedded at the beginning of the SQL block. The single character following this directive will be used to split the SQL block into SQL statements, which will then be sent to the database for execution. Note: Include a space before the character.
For example:
FME_SQL_DELIMITER ; DELETE FROM instructors ; DELETE FROM people WHERE LastName='Doe' AND FirstName='John'
Multiple delimiters are not allowed and the delimiter character will be stripped before being sent to the database.
Any errors occurring during the execution of these SQL statements will normally terminate the reader or writer (depending on where the SQL statement is executed) with an error. If the specified statement is preceded by a hyphen (“-”), such errors are ignored.
This parameter allows for the execution of SQL statements after a set of tables has been written. For example, it may be necessary to clean up a temporary view after creating it.
For detailed information about SQL functions, click the corresponding menu item in the
.Available menu options depend on the format.
Multiple SQL commands can be delimited by a character specified using the FME_SQL_DELIMITER
directive, embedded at the beginning of the SQL block. The single character following this directive will be used to split the SQL block into SQL statements, which will then be sent to the database for execution. Note: Include a space before the character.
For example:
FME_SQL_DELIMITER ; DELETE FROM instructors ; DELETE FROM people WHERE LastName='Doe' AND FirstName='John'
Multiple delimiters are not allowed and the delimiter character will be stripped before being sent to the database.
Any errors occurring during the execution of these SQL statements will normally terminate the reader or writer (depending on where the SQL statement is executed) with an error. If the specified statement is preceded by a hyphen (“-”), such errors are ignored.