Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA Enterprise SCADA

Data Access Layer (DAL) configuration

  • Last UpdatedApr 24, 2025
  • 2 minute read

You can select a system during Data Access Layer (DAL) initialization. The DAL will treat this system as a configured system, and will load all config\DAL\DALConfig*.xml files first (all other file names are ignored). The data from these files will be treated as global/default system data.

Next, the XML files in the config\DAL\<system> directory are loaded in alphanumeric order. Config files in these directories are only loaded if they are named using the DALConfig*.xml format (all other file names will be ignored). Any duplicate entries are logged as errors that will point out any mistakes in your usage or naming of the config files. Each system (including default/global) will have its own dictionary.

Inside DAL, the configuration information is loaded into a dictionary of strings. It is keyed with the element name and valued with the element's value. For example: For DriverLocator, the key would be DriverLocator, and for the CMX driverAlias and Microsoft SQL driverType, the value would be OASySDNA.Common.DAL.RTDB7SQLDriver.dll. Therefore, making a call to DALUtilities.GetConfigItem( "CMX", "SQL", "DriverLocator" ) would return OASySDNA.Common.DAL.RTDB7SQLDriver.dll. To avoid using the driver type directly, each type client has its own GetConfigItem() method (for example, DALSQLClient.GetConfigItem).

GetConfigItem() will try to find an element name in the dictionary of the configured system, and if the element is found, a value will be returned. If the element does not exist, then GetConfigItem() will try to find the given element in the global/default dictionary.

GetSystemConfigItem() will try to find an element name in the dictionary of any given system, and if the element is found, a value will be returned. If the element does not exist, then GetSystemConfigItem() will try to find the given element in global/default dictionary.