Important: When the
Enterprise Server feature is enabled:
If you want to run your application under
Enterprise Server using the generic one-phase commit switch module for ODBC or the RM switch module for SQL Server, you must recompile the appropriate RM switch module specifying all OpenESQL directives that are defined as process-based. See the process-based directives listed below. For more information on RA switch modules, see
Using XA-compliant Resources (XARs).
Each SQL compiler directive option is used either at compile time, run time, or both. The behavior at run time is described as one of the following:
- Source file
- When a source file specifies the directive, the value set in the source file is used. If a source file does not specify the directive, then the process behavior is used.
- Process
- These directives affect connections. When the first-encountered EXEC SQL statement is executed, usually an EXEC SQL CONNECT statement, the runtime uses the directive settings for the source file containing the statement. These settings apply for the remainder of the process lifetime. The run-time behavior varies depending on the type of connection as follows:
- ODBC with THREAD=ISOLATE
- Each thread in the process uses its own set of global directive settings
- ODBC with THREAD=SHARE
- One set of global directive settings applies for the entire process
- ADO.NET
- .NET session, each session having its own set of global directive settings
For additional information on the scope of each SQL compiler directive option, see its corresponding
Reference topic.
Process-based OpenESQL Directives
- ADOPICXISANSI
- ALLOWNULLCHAR
- ANSI92ENTRY
- AUTOCOMMIT
- CHECKDUPCURSOR
- CHECKSINGLETON
- CONNECTIONPOOL
- CURSORCASE
- DBMAN
- DECDEL
- ESQLVERSION
- ISOLATION
- MARS
- NIST
- ODBCTRACE
- ODBCV3
- PARAMARRAY
- PREFETCH
- RESULTARRAY
- STMTCACHE
- TARGETDB
- THREAD
- USECURLIB
- USER-SQLDA
- XAID