Progress
DataServer
for ODBC Guide
Modifying the Run-time Schema Check
At runtime, the DataServer for ODBC performs a schema check to match a table definition in the data source against the schema image in the schema holder. It performs this task once for each table utilized in a Progress procedure. In order to retrieve table attributes without having to access data, the DataServer executes the following SQL statement against the data source:
For some data sources, executing this SQL statement results in a full table scan. For a large table, this can seriously degrade performance; however, the DataServer for ODBC provides a way to perform the schema check without this SQL statement and the resulting full table scan. It uses settings in the schema holder that modifies how the schema check is performed by using an ODBC API called SQL_Column. The following Progress procedure appends the relevant schema-holder switches in order to modify schema-check behavior:
Note that after performing this procedure, you must disconnect and reconnect to your schema holder. Subsequent schema checks from the modified schema holder will not result in a full table scan.
NOTE: Under normal circumstances, Progress Software Corporation recommends that you do not modify your schema-holder database.Skip Schema Verification
When r-code runs (each time a table, view, or buffer is opened), the DataServer checks the data definitions of the ODBC data source to ensure the data definitions match the schema definitions in the schema holder. If the definitions do not match, the DataServer returns an error.
Unmatched definitions can cause corruption of the data source. For this reason, checking the integrity of data definitions at run time ensures the data corruption due to unmatched definitions will not occur. The skip schema check feature can be used to bypass this check at run time. Because definition verification is time consuming in a production environment, you might consider using the -Dsrv skip_schema_check startup parameter if your environment allows. You might consider using this option to increase performance, but only if you are certain that the data definitions in the data source match your schema holder definitions.
NOTE: The dataserv.lg log file denotes when the DataServer skips the schema check.The following example shows how to use the -Dsrv parameter with the skip schema check option in the CONNECT statement.
CAUTION: If you use the skip schema check option, the DataServer skips the schema check and does not detect discrepancies between the Progress schema definitions and the data source data definitions. If there are discrepancies and the DataServer continues to process queries, inserts, and deletions, your data source may become corrupted. Progress Software Corporation recommends that you weigh carefully the performance benefit against the risk to your database before deciding to use -Dsrv skip_schema_check.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |