FAQs – Data Logging

Cannot log to MS Access with Class not Registered System Error

The following update will correct this issue.

https://www.microsoft.com/en-us/download/details.aspx?id=39664

I receive a System Error when trying to log or access an Oracle database

OAS version 12.00.0043 now uses OracleManagedDataAccess assembly. If you are using an older version of OAS we recommend to update to the latest version. If you have upgraded from a previous version and using TNSNAMES.ORA name in the Database file please see the FAQ on TNSNAMES.ORA.

Data Logging System Error occurs with database engine error null values not allow.
The cause of this error is one or more of the database table columns has been modified  to not allow null values.  OAS creates the columns in the table to allow null values so when the data quality is bad for a tag value a null value will be inserted into the table.  The only column that should be set to not allow null values is the DateAndTime column.  There are 2 solutions to this error:

  1. Please review the columns in each table with the SQL Server Management Studio.  If they have been changed to not allow null values change them back to allow null values.
  2. Go to each logging group and enable the property Do Not Buffer On Primary Index Failure.  Keep in mind that with this property enabled the records to be logged that contain null values will be discarded and not logged.
Security Login Error occurs with Open or Create routines
View the Database Security Login topic on how to setup security logins and access writes to create, open, and read and write to the database.
Data is not logged to the database engine
View the source of the problem under Configure-System Errors. The complete history of errors can be viewed under C:Program Files (x86)Open Automation SoftwareOPC Systems.NETLog or the path that is set under Configure-Options-System Logging.
I am logging CSV files to a remote mapped drive, but I get an error with the data logging.
Either enable the SYSTEM account to have read and write access to the mapped drive and directory, or set the OAS Engine Service LogOn to a user account that would have access to the remote mapped drive using these steps in setting the OAS Engine Service LogOn.
I am logging to MS Access on a remote mapped drive, but I get an error with the data logging
Either enable the SYSTEM account to have read and write access to the mapped drive and directory, or set the OAS Database Service LogOn to a user account, the same as the steps in setting the OAS Data Service LogOn, but set the LogOn for the OAS Database Service.
Error reports LogIn failure to database engine when trying to open connection
View the following video on how to setup security in the database engine:
Direct link: https://www.openautomationsoftware.com/videos/#troubleshoot-connection-login
Memory usage of OPCSystemsDatabase.exe Windows Service is high when data logging fails. Also the OPCSystemsService.exe when logging to CSV files and users open Excel or remote data logging services connect to the remote tags to be logged and a network failure occurs.
Go to Configure-Options-Data Buffering and enable data buffering to disk. View the following video on how to setup data logging so there is no data loss on a network or database engine failure:
The database engine language is different than the Regional Language settings of the Data Logging and / Alarm Logging Service. Data Logging updates, Alarm Logging updates, trend history, and / alarm history is not working due to invalid date format.
Go to Configure-Options-History and Enable History Date Format. Examples: yyyy-MM-dd HH:mm:ss MM/dd/yyyy HH:mm:ss
I need to log to an Oracle database engine using the TNSNAMES.ORA file.
OAS version 12.00.0043 now uses OracleManagedDataAccess assembly which does not support TNSNAMES.ORA.  You can set the entire path from the TNSNAMES.ORA file in the Database field of the data logging, alarm logging, or recipe group directly. Use the following as the Database name: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID))) As example for a system with a computer name GWDESK and the Oracle database name OPCDb: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=GWDESK)(PORT = 1521)))(CONNECT_DATA=(SERVER= DEDICATED)(SERVICE_NAME=OPCDb)))
How much memory on the hard disk is taken up when logging to SQL Server?
The following should be used as an aid in sizing database requirements. The method used is to store 100 Tags each, of a few common data types for one hour at a 1 second continuous interval to separate tables. SQL Server 2005 Express was used to gather this information. As always your final results may vary. In SQL Server you can set the Database property under Options for Recovery model to Simple to reduce disk usage. Boolean Data type table size Rows: 3598 Reserved: 200 KB Data: 152 KB Index Size: 16 KB Unused: 32 KB Double data type table size Rows: 3598 Reserved: 3272 KB Data: 3200 KB Index Size: 16 KB Unused: 56 KB Integer data type table size Rows: 3598 Reserved: 1672 KB Data: 1600 KB Index Size: 16 KB Unused: 56 KB String data type table size (100 char / tag) Rows: 3589 Reserved: 84752 KB Data: 84552 KB Index Size: 144 KB Unused: 56 KB
Which database engine is most efficient with OPCDatabase.NET?
SQL Server provides the ability to log multiple records in one call, so using SQL Server on a local or remote server is the best choice.
Which database engine uses the least amount of disk space when logging values?
CSV files without a database are the smallest usage. SQL Server and mySQL are very comparable. Oracle uses approximately 4 times the disk space as SQL Server and mySQL. In SQL Server you can set the Database property under Options for Recovery model to Simple to reduce disk usage.
The amount of RAM used on the operating system is very high.
Use the Windows Task Manager under Processes.  If you see that SQL Server is using up too much memory you can limit the amount of memory SQL server uses in the SSMS server properties under the memory section.
Setup SQL Server for authentication with UAC which was introduced on Windows Vista.