Historian Storage Locations (Reference) define the repositories where the FrameworX Historian module archives time-series data from historian tags and tables.
Storage Locations provide:
Each Storage Location serves as a destination for historian tables, enabling flexible data archiving strategies.
Table of Contents maxLevel 2 minLevel 2 indent 10px exclude Steps style none
Storage Locations are designated databases that store historical data from Tags on their HistorianTables.
Each Storage Location is a repository for time-series data, enabling long-term trending and analysis.
When defining which Tags will store time-series data, those Historian Tags are grouped into Historian Tables, and each Historian Table is located in a Historian Archive Location defined in this interface.
By Default, the system has an SQL database defined for Storage Location, Historian Tools and Script Classes that can be added to the solution, as alternate, or concurrent, storage locations.
The Storage Location defines where Tag data will be archived establishing a clear linkage between tags and the storage infrastructure. When configuring the Storage Location, you can use:
SQL databases
Script Classes
Connections with Third-Party Historians, Like Canary and others.
When you set the Storage Location, you specify the storage system for Tag data.
By default, the platform uses an SQLite database. You can change the default database or add additional databases if you need to use different ones.
You have several options to choose from when defining the default database. If you would like to change the default database to be something other then the initial SQLite built-in database, follow the steps below:
Access Historian / Storage Locations.
Click on the to open the Dialog.
Define the default database configuration, defining Provider, Database, and Server IP.
Test the database connection. Provide the necessary authentication information and click Test.
Click OK to update the default database.
The following table provides a list of accepted providers and databases for configuring the default options.
Built-in database support with TagHistorian object:
External historian systems:
Custom storage implementations:
Provider | Supported |
---|
Provider
Databases | |
---|---|
SQLite | SQLite |
Odbc | Firebird |
, MSAccess2003 |
MSExcel2003
MySql
, MSExcel2003, MySQL, ODBC_DSN |
, ODBC_FileDsn |
, Oracle |
, SQLServer |
, SQLServer_WA | |
OleDb | CSVFile |
MSAccess2003
MSAccess2007
MSExcel2003
MSExcel2007
Oracle
SQLServer
, MSAccess2003/2007, MSExcel2003/2007, Oracle, SQLServer, SQLServer_WA | |
OracleClient | Oracle |
SqlClient | SQLServer |
, SQLServer_WA | |
PostgreSQL | PostgreSQL |
Property | Description | Required |
---|---|---|
Name | Unique identifier | Yes |
Description | Documentation text | No |
StoreAndForward | Local buffering on connection failure | No |
Storage System | Tag Provider or Script Class | Yes |
Object | Selected provider/class instance | Yes |
Protocol | Communication protocol (Tag Provider only) | Conditional |
Station Editor | Connection string configuration | Conditional |
When enabled, provides data integrity during connection failures:
StoreAndForward: True
Buffer Location: Local SQLite
Retry Interval: 5 seconds
Batch Size: 250 rows
Industrial historian with high compression:
Protocol: CanaryLabs
Connection: Server=hostname;Port=12345
Features: Compression, Aggregation, Web API
Open-source time-series database:
Protocol: InfluxDB
Connection: http://server:8086;Database=mydb
Features: High throughput, SQL-like queries
Enterprise historian platform:
Protocol: GEProficy
Connection: Server=hostname;Username=user
Features: Enterprise integration, Analytics
Script class must implement:
csharp
public class CustomStorage
{
public void StoreData(string table, DateTime timestamp,
Dictionary<string, object> values)
{
// Custom storage logic
}
public DataTable RetrieveData(string table,
DateTime start, DateTime end)
{
// Custom retrieval logic
}
}
Server=hostname\instance;Database=HistorianDB;
User Id=sa;Password=pwd;
Host=localhost;Database=historian;
Username=user;Password=pass;Port=5432;
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=server)(PORT=1521))(CONNECT_DATA=
(SERVICE_NAME=orcl)));User Id=hr;Password=pwd;
Server=localhost;Database=historian;
Uid=root;Pwd=password;Port=3306;
Database | Best For | Limitations |
---|---|---|
SQLite | Small systems | 10GB limit, single writer |
SQL Server | Enterprise | License cost |
PostgreSQL | Open source | Complex setup |
InfluxDB | Time-series | Specialized queries |
CanaryLabs | Compression | Proprietary |
Configure multiple locations for:
High-frequency data → Local SQLite
Production records → SQL Server
Compliance data → CanaryLabs
Temporary data → InfluxDB
Connection failures:
Store and Forward issues:
Performance problems:
Data not storing:
Page Tree | ||
---|---|---|
|
Solutions can store data using an external Historian package, or support SQL and multiple Historians concurrently, according to your requirements.
Follow the steps below to add and configure new storage locations.
Access Historian / Storage Locations.
Click on the .
On the dialog, configure the new database. You find the description of each option available in the next section of this documentation page.
Click Ok.
The table below describes the configuration options available when adding a new Storage Location.
Property
Description
Name
A unique name to identify the new Storage Location.
Description
Optional description to provide more context or information.
StoreAndForward
If you check this option, the platform will store data locally in case of connection failure with the external database. The data is transferred when the connection is established.
Storage System
Types available to configure the Storage Location. Currently, two options are available:
Tag Provider: Enables you to use external solutions to archive Tag data.
Script Class: For this option, you need to create a script class or point to existing classes to define how the data will be handled and stored. For help creating classes, see the Scripts (Tasks and Classes) documentation.
Object
The tag provider or script class to use as a storage location. You may also create a new tag provider or script class from this option.
Protocol (Only available if using Tag Provider)
Defines the protocol used by the External Tag Provider. Currently, you can use the following options:
Station Editor (Only available if using Tag Provider)
Configure the connection string to the selected provider and run a test to ensure the setup is correct. Visit the links above to find out how to configure each tag provider's connection string.
In this section: