DataFlux Data Management Studio
The Data Access Component (DAC) enables you to connect to data using Open Database Connectivity (ODBC) and Threaded Kernel Table Services (TKTS). ODBC database source names (DSNs) are not managed by the DAC, but by the Microsoft ODBC Administrator. TKTS DSNs, however, are managed by the DAC, and TKTS connections are stored in a TKTS DSN directory. The DAC reads a list of settings to determine what actions to take, where to find various things it needs, and how to make the proper connections.
Note: The default DAC directives should be satisfactory for most sites. Change these settings only if you have special needs.
There are three types of DAC Configuration Directives:
Configuration options: Most of the DAC's settings come from configuration values as specified in app.cfg or other config files that are read in a specific sequence. It is recommended to put these settings in the app.cfg file, but they can be put in macro.cfg or another application-specific configuration file. See Configuration Options for a more comprehensive list of possible configuration values.
Registry: The DAC only looks in the registry for DSN-specific items. These are found in either or both HKEY_CURRENT_USER\Software\DataFlux\dac\{version}\{dsn} or HKEY_LOCAL_MACHINE\Software\DataFlux\dac\{version}\{dsn}. "dsn" in this case is a string with the same name as the DSN to be affected.
Environment variables: You can identify the environment variables with $NAME in the following table. Typically, the application using the DAC will set environment variables to appropriate locations. On Windows, $DFEXEC_HOME is set to the application's root directory.
Setting | Description | Windows | UNIX |
---|---|---|---|
Command file execution | Specifies a text file with SQL commands (one per line). These commands will run in turn, on any new connection that is made. For example, they can be used to set session settings. This is implemented only for the ODBC driver. | The DAC/SAVEDCONNSYSTEM configuration value may specify the path to the saved connections. The DAC checks for files with the same filename as the DSN and a .sql extension. | The same as Windows. |
Connection and login timeout | Allows you to specify the time in seconds for a connection timeout and a login timeout. | The string type value is located in USER\dsn_name\logintimeout (or connecttimeout) where dsn_name is the name of the dsn. The string value is the number of seconds for the time out. If it does not find it, the DAC will look in the SYSTEM\dsn_name\logintimeout. | Not supported. |
DAC logging | Determines whether to create a log file for DAC operations. | This is controlled through the effective logging configuration files, which uses log4sas. The logger name "DAC" should be used. | The same as Windows. |
DFTK log file | Specifies the log file that interacts with the DFTKSRV layer and is useful only for debugging issues specific to dftksrv. This setting is applicable only if you are running DFTK out of process. | Look for config value DAC/DFTKLOGFILE. | The same as Windows. |
Disable CEDA | Specifies whether to disable CEDA. This setting is applicable only to tkts connections. | Look for DAC/DFTKDISABLECEDA configuration value, which should specify any non-null value, for example, yes. | The same as Windows. |
Multiple active results sets (MARS) | Specifies whether to allow a connection to open multiple result sets at the same time. This is applicable only when using the SQL Server Native Client driver on Windows against an SQL Server 2005 (or later). | Look in USER\dsn_name\mars for dword value of 1 where dsn_name is the name of the dsn. If it does not find it, the DAC will look in the SYSTEM\dsn_name\mars. | Not applicable. |
Oracle NUMBER(38) handling | If connected to Oracle (only), NUMBER(38) columns is treated as INTEGER by default. To override that functionality, treat them as REAL. | Look in USER\oranum38real for dword value of 1. If it is not found in USER, look in SYSTEM\oranum38real. | Look in $HOME/.dfpower/dsn.cfg for a line dsn_name = oranum38real where dsn_name is the name of the DSN. |
Read uncommitted | For SQL Server only, specifies that reading data from cursors is allowed to read uncommitted rows. This can alleviate lock ups in SQL Server (applies to DMP version 2.3 and beyond) | Look in USER\dsn_name\readuncommitted for dword value of 1. Where dsn_name is the name of the dsn. After looking in USER look in SYSTEM | Look in $HOME/.dfpower/dsn.cfg for a line dsn_name = readuncommitted where dsn_name is the name of the DSN |
Run DFTK out of process | Specifies whether to run TKTS out of process, allowing you to perform troubleshooting. | Look for config value DAC/DFTK_PROCESS. This should specify any non-null value, for example, yes. | The same as Windows. |
Suffix for CREATE TABLE statements | This allows you to provide a string that is appended to every CREATE TABLE statement. If you include %t in this string, it is substituted with the table name. | Look in USER\dsn_name\postcreate for a string where dsn_name is the name of the dsn. If it is not found in USER, look in SYSTEM. | Not supported. |
System saved connection | Specifies where to find system saved connections. | Look in DAC/SAVEDCONNSYSTEM config value for a path. If it is not found, the DAC checks for the DFEXEC_HOME environment variable in the $DFEXEC_HOME\etc\dsn subdirectory, which is in the installation directory. | Look for the same config value. If not found, look in the $DFEXEC_HOME/etc/dsn subdirectory, which is in the installation directory. |
TK Path | Specifies where TK files are located. This setting is applicable only if you are running Data Factory Took Kit (DFTK) out of process. The dftksrv path and core directory should be specified. | Look for config value DAC/DFTK_PROCESS_PATH. If still not found, set it to $DFEXEC_HOME\bin;$DFEXEC_HOME\bin\core\sasext. | Same as for Windows, but will set it to $DFEXEC_HOME/lib/tkts if it is not found. |
TKTS DSN directory | Specifies the path where TKTS DSNs are stored in XML files. | Look in config value DAC/DSN. If it is not found, look in $DFEXEC_HOME\etc\dftkdsn\. | Look in the same config value. If it is not found, look in $DFEXEC_HOME/etc/dftkdsn/. |
TKTS log file | Specifies the log file that is produced by the TKTS layer and is useful for debugging tkts issues. | Look for config value DAC/TKTSLOGFILE. | The same as Windows. |
TKTS startup sleep | Specifies how much time in seconds to delay between the start of the dfktsrv program and the booting of TK. This setting is applicable only if you are running DFTK out of process. | The DAC checks the registry for a tktssleep value. | Not supported. |
User saved connection | Specifies where to find user-saved connections. | Look in DAC/SAVEDCONNUSER config value for a path. If not found, look in the user's application settings directory, which is usually in the %APPDATA% directory, in the DataFlux\dac\version subdirectory. The %APPDATA% location is C:\Users\userid\AppData\ for Windows 7 and C:\Documents and Settings\userid\Application Data\ for Windows XP. | Look for the same config value. If not found, look in the $HOME/.dfpower/dsn directory. |
Use braces | Specifies whether to enclose DSN items with braces when they contain reserved characters. Most drivers do not support use of braces; however, this might be an option if problems occur with saving credentials. | The DAC looks in USER\usebraces for dword value of 1. If it is not found there, the DAC looks in SYSTEM\usebraces. | Look in $HOME/.dfpower/dsn.cfg for a line dsn_name = usebraces where dsn_name is the name of the DSN. |
Documentation Feedback: yourturn@sas.com
|
Doc ID: dfU_DAC_directives.html |