Oracle Non-Spatial Reader Parameters

About 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 differ slightly, depending on context and/or database format.

Connection

From the Connection parameter in a database format, you can do one of the following:

  • Select an existing, previously defined connection. See the section Reusing a Database Connection in Using Database Connections
  • Select Add Database Connection to define a new connection. See database-specific parameters below, as well as the section Adding a Database Connection in a Workspace in Using Database Connections The new connection can be made visible only to the current user, or can be shared among multiple users.

Database Connection

Select an existing Oracle database connection, or Add Database Connection...

Add Oracle Database Connection

To define a new connection from the Connection parameter in an Oracle Non-Spatial format, see the topic Oracle Non-Spatial: Add Database Connection

Oracle Workspace

The name of the Oracle Workspace Manager workspace that will be used by the reader. All tables will be read using the same workspace. If this parameter is omitted, or left blank, the default LIVE workspace will be used.

Persistent Connection

If this parameter is checked (default), the Oracle database connection remains open for other requestors. A persistent connection is useful for workspaces that are long-running, or published using FME Server.

If this parameter is unchecked, the connection to the Oracle database is closed as soon as possible after data processing is complete.

Include System Tables

If checked, the Tables parameter (in Reader Parameters and Reader Feature Type Parameters), and the Merge Filter checkbox in the Reader Feature Type Parameters dialog will include tables that live in system schemas, or contain special characters like / and $.

If unchecked, Tables and Merge Filter will not include system tables or tables with special characters.

Note: Recycled tables (names starting with BIN$) will never be included.

Constraints

Remove Table Qualifier

Specifies whether to keep the table qualifier. The full name of a table in a database is of the format:

<prefix>.<table_name>

Depending on the database format, the prefix can be <database_name>.<owner_name>, <owner_name>, or <schema_name>.

Selecting this parameter indicates that the reader should return the table name without any prefixes. This is useful, for example, when creating a workspace that will be passed on to another organization using the same table names, or performing a translation to another database format but with a different user name.

When this parameter is selected during workspace generation, the source feature types will be the table names without any prefix; otherwise, they will contain the owner name as a prefix. It is recommended that you do not change this parameter after generating the workspace, because it is possible for no features to be successfully passed onto the writer (since the writer is expecting feature types with different names).

Note: Even when this parameter is selected, if the table is owned by a user other than the current user, the prefix will not be dropped. This is to ensure that the reader will find the correct table.

Tables

After specifying the database connection, click the Browse button (...) to select tables for import. A connection window appears while the system retrieves the tables from the database.

Once the Select Tables dialog appears, you can select one or more tables. Click OK to dismiss the window and add the selected table name(s) to the Tables parameter.

WHERE Clause

This parameter is used to constrain the row selection in tables chosen in the Tables parameter (for example, NUMLANES=2, LENGTH > 2000).

To construct a WHERE clause, click the browse button to open the editor. (You can also type a WHERE clause directly in the parameter field.)

If the WHERE clause SQL is invalid, the translation will fail.

Advanced

Bulk Read Size

Rows are read from the Oracle database using a bulk reading technique to maximize performance. This parameter allows you to tune the performance of the reader by specifying how many rows are read from the database at a time.

The default is 200.

SQL to Run Before Read

This parameter allows for the execution of SQL statements before opening a table for reading. For example, it may be necessary to create a temporary view before attempting to read from it.

For detailed information about SQL functions, click the corresponding menu item in the SQL to Run editor helpClosed.

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.

SQL To Run After Read

This parameter allows for the execution of SQL statements after a set of tables has been read. 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 SQL to Run editor helpClosed.

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.