Troubleshoot OpenAccess
- Last UpdatedNov 02, 2023
- 3 minute read
This section is intended to guide you through a potential issue you may encounter when configuring OpenAccess.
If an application that executes a RealTime database (RTDB) query reports a Disk Cache file size limit has reached error, you need to customize the OpenAccess parameters.
To customize the OpenAccess parameters
-
Navigate to %DNADataRoot%\RealTime\config\ConfigTool\SnapIns, and create a new Config Tool snap-in file named Customizations.SQLEngine.xml.
For configuration information, refer to the example configuration file below.
-
Depending on your scenario, open the RealTime Config Tool to apply the changes.
-
If using the graphical Config Tool
-
Run the %DNAInstallRoot%\RealTime\scripts\Start-ConfigTool.ps1 script.
-
If the system has been previously configured, select Customization SQL Engine OpenAccess, and then run the Config Tool.

-
-
If the system is a Windows Core environment
-
Open the Config Tool from the console by executing the following command for your location of the OASySInfo.ini file:
.\Start-ConfigTool.ps1 -ControlRoom -ConfigurationFile "C:\TelventInstall\Enterprise\LSSCADAPROD.LOCAL\OASySInfo.ini" -Features "Customizations.SQLEngine"
-
-
The sample file that is provided in this section will perform the following actions:
-
Get settings from the OASySInfo.ini file.
-
Get location of OpenAccess from the Windows registry.
-
Delete the ServiceSQLDiskCacheMaxSize and ServiceSQLDiskCacheMemSize attributes if they exist.
-
Create the ServiceSQLDiskCacheMaxSize and ServiceSQLDiskCacheMemSize attributes.
Notes: The values provided (100 and 10000) are a sample configuration. You must tune these values to the appropriate ones for the system.
As a rule, the disk cache size must be bigger than the query size.
File sample configuration
<?xml version="1.0" encoding="utf-8"?>
<Config Label="Customization SQL Engine OpenAccess" Configured="True">
<Requires>
<Features>
<FeatureRef Name="SQLEngine" />
</Features>
</Requires>
<ExecutionSequence>
<!-- Get settings from the OASySInfo.ini file -->
<ActionRef Name="Action_SystemConfigurationSettings" TerminateOnFailure="true" />
<!-- Get location of OpenAccess from Windows registry -->
<ActionRef Name="GetRegistryValue" TerminateOnFailure="true" ResultKey="OPENACCESSROOT">
<Params>
<Param Name="RegHive" Value="HKEY_LOCAL_MACHINE" />
<Param Name="RegKey" Value="SOFTWARE\DataDirect\OpenAccess81" />
<Param Name="RegValue" Value="OpenAccess" />
</Params>
</ActionRef>
<ActionRef Name="Action_SetEnvironmentVariable" TerminateOnFailure="true">
<Params>
<Param Name="Name" Value="OPENACCESSROOT" />
<Param Name="Value" Value="[OPENACCESSROOT]" />
</Params>
</ActionRef>
<ActionRef Name="Action_SetEnvironmentVariable" TerminateOnFailure="true">
<Params>
<Param Name="Name" Value="OPENACCESSSERVICE" />
<Param Name="Value" Value="RealTime" />
</Params>
</ActionRef>
<!-- Delete Attribute ServiceSQLDiskCacheMaxSize -->
<ActionRef Name="Action_LaunchApp" TerminateOnFailure="true">
<Params>
<Param Name="Executable" Value="[OPENACCESSROOT]\admin\oaclasil.exe" />
<Param Name="Arguments" Value="-d "[OPENACCESSROOT]\cfg\oadm.ini" ServiceAttributeDelete [OPENACCESSSERVICE] ServiceSQLDiskCacheMaxSize" />
<Param Name="Hide" Value="false" />
<Param Name="Wait" Value="true" />
<Param Name="AbortOnFailure" Value="true" />
<Param Name="ExpectedErrorCodes" Value="0, 1" />
</Params>
</ActionRef>
<!-- Delete Attribute ServiceSQLDiskCacheMemSize -->
<ActionRef Name="Action_LaunchApp" TerminateOnFailure="true">
<Params>
<Param Name="Executable" Value="[OPENACCESSROOT]\admin\oaclasil.exe" />
<Param Name="Arguments" Value="-d "[OPENACCESSROOT]\cfg\oadm.ini" ServiceAttributeDelete [OPENACCESSSERVICE] ServiceSQLDiskCacheMemSize" />
<Param Name="Hide" Value="false" />
<Param Name="Wait" Value="true" />
<Param Name="AbortOnFailure" Value="true" />
<Param Name="ExpectedErrorCodes" Value="0, 1" />
</Params>
</ActionRef>
<!-- Add Attribute ServiceSQLDiskCacheMaxSize -->
<ActionRef Name="Action_LaunchApp" TerminateOnFailure="true">
<Params>
<Param Name="Executable" Value="[OPENACCESSROOT]\admin\oaclasil.exe" />
<Param Name="Arguments" Value="-d "[OPENACCESSROOT]\cfg\oadm.ini" ServiceAttributeAdd [OPENACCESSSERVICE] ServiceSQLDiskCacheMaxSize 100" />
<Param Name="Hide" Value="false" />
<Param Name="Wait" Value="true" />
<Param Name="AbortOnFailure" Value="true" />
<Param Name="ExpectedErrorCodes" Value="0" />
</Params>
</ActionRef>
<!-- Add Attribute ServiceSQLDiskCacheMemSize -->
<ActionRef Name="Action_LaunchApp" TerminateOnFailure="true">
<Params>
<Param Name="Executable" Value="[OPENACCESSROOT]\admin\oaclasil.exe" />
<Param Name="Arguments" Value="-d "[OPENACCESSROOT]\cfg\oadm.ini" ServiceAttributeAdd [OPENACCESSSERVICE] ServiceSQLDiskCacheMemSize 10000" />
<Param Name="Hide" Value="false" />
<Param Name="Wait" Value="true" />
<Param Name="AbortOnFailure" Value="true" />
<Param Name="ExpectedErrorCodes" Value="0" />
</Params>
</ActionRef>
<ActionRef Name="Cleanup" ActionType="Sequence">
<Sequences>
<Sequence>
<Actions>
<ActionRef Name="Action_UnsetEnvironmentVariable" TerminateOnFailure="true">
<Params>
<Param Name="Name" Value="OPENACCESSROOT" />
</Params>
</ActionRef>
<ActionRef Name="Action_UnsetEnvironmentVariable" TerminateOnFailure="true">
<Params>
<Param Name="Name" Value="OPENACCESSSERVICE" />
</Params>
</ActionRef>
</Actions>
</Sequence>
</Sequences>
</ActionRef>
</ExecutionSequence>
</Config>