Each SQL compiler directive option is used either at compile time, runtime, 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