> For the complete documentation index, see [llms.txt](https://docs.videc.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.videc.de/acron-9.3/en/anlagenkonfiguration/prozessanbindung/provider/providerid/treiberauswahl/universeller-odbc-treiber-fuer-alarme.md).

# Universal ODBC driver for alerts

#### Background

Messages and alerts are imported by the ACRON Provider via the ODBC interface and saved to the ACRON database.

The SQL statement to read the data is freely configurable. ACRON logs the time from which data were transferred, and resumes from that point on the next transfer.

The driver retrieves the SQL query command from an ASCII text file. The file must be placed in the plant data path on the server (not in the plant cache!). This is the path specified when setting up the plant, and also the one displayed in ACRON Admin.

The driver initially searches for a file named `ODBC_UNI_STATEMENT.TXT`.

If this file is not available, the driver searches for the file `ODBC_UNI_AL_STATEMENT_X.TXT`, with the "X" being replaced by the identification (Provider number).

So for Provider 1 it searches for file `ODBC_UNI_AL_STATEMENT_1.TXT`.

If the file is not present either, the following SQL statement is executed:

`SELECT Timestamp, Milliseconds, Tagname, Group, Description, Event, Eventtype, Operator, Priority, Text, Value, Limit`

`FROM Messages`

`WHERE (Timestamp > {ts '%s'}`

`AND Timestamp < {ts '%s'})`

`ORDER BY Timestamp`

Where the first "%s" occurs in the statement, the last successful transfer date is inserted during the program runtime.

Where the second "%s" occurs in the statement, the current time 30 seconds ago is inserted during the program runtime.

You can define any statements you want, including complex ones such as Joins. The only condition is that the following 12 columns occur in the query result:

| Field name       | Field type     | Length | O / M                                      | Meaning                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------- | -------------- | ------ | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **TIMESTAMP**    | SQL time stamp | 19     | M                                          | Here the time and date are set in the following format: `YYYY-MM-TT HH:MM:SS`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **MILLISECONDS** | Num            |        | K                                          | Milliseconds 0-999, if blank 0 is taken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **TAGNAME**      | Char           | 199    | K                                          | The variable name, if blank "System" is used                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **GROUP**        | Char           | 63     | K                                          | The alert group, if blank "Default" is set                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **DESCRIPTION**  | Char           | 65     | K                                          | Optionally the description of the alert                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **EVENT**        | Num            |        | K                                          | The alert event, if blank 4 is assumed. Permitted: 1 KMT: Alert begins 2 GHT: Alert ends 3 QIT: Active alert has been acknowledged 4 NEW: New value alert, message 5 RST: System has been restarted (All open alerts are ended, active alerts must be re-signaled.)                                                                                                                                                                                                                                                                                                                                             |
| **EVENTTYPE**    | Char           | 5      | K                                          | The alert type, if blank DISK is assumed. Permissible values: [Limit value alerts](https://github.com/Dataforum-Software/gitbook/blob/master/acron/9.3/en/designer/glossar/grenzwertalarm.md): HIHI, HI, LO, LOLO [Deviation alerts](https://github.com/Dataforum-Software/gitbook/blob/master/acron/9.3/en/designer/glossar/abweichungsalarm.md): ABW1, ABW2 [Modification alerts](https://github.com/Dataforum-Software/gitbook/blob/master/acron/9.3/en/designer/glossar/aenderungsalarm.md): MODF Binary alerts 1: DISK Binary alerts 2: OPR Binary alerts 3: LGK Binary alerts 4: DDE Binary alerts 5: SYS |
| **OPERATOR**     | Char           | 17     | K                                          | The name of the logged-in user                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **PRIORITY**     | Num            |        |                                            | The priority of the alert, if blank 0 is assumed. Permissible: 0-999                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **STRING**       | Char           | 159    | K                                          | The alert text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **VALUE**        | Char           | 29     | K                                          | The current value which has led to the alert being triggered.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **LIMIT**        | Char           | 29     | K                                          | The value of the alert limit which was exceeded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|                  |                |        | *O = Optional field / M = Mandatory field* |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

Note

If the specified length is exceeded, the content is automatically shortened to it.

{% hint style="info" %}
Attention

If the same data are imported multiply, they may occur multiply in the database.
{% endhint %}

## Driver <a href="#treiber" id="treiber"></a>

### Driver file

Display the name of the selected driver and select a driver from the list of installed drivers

### Version

Version of the driver file

### Interface type

Display the driver interface type

### Data transfer type

Description of the data transfer type

## Driver parameters <a href="#treiberparameter" id="treiberparameter"></a>

### Name of ODBC data source

Name configured by the ODBC administrator.

### ODBC user

The user name to access the database is optional.

### ODBC password

The ODBC password to access the database is optional.

### Time stamp in UTC

Time stamp in local time or in UTC time

0 = No

1 = Yes

## Settings <a href="#einstellungen" id="einstellungen"></a>

### Measure interval

In this interval the SQL statement is executed and the data are transferred.

### Polling delay after start

Start of data logging in seconds after the ACRON Provider has successfully established process communication. This is useful, for example, if the opposite party takes some time after a restart to initialize all the variables.

Recommended entry 0 sec.

### Always display provider window on top

Provider windows are always displayed on top

### Activate test mode

Display a window with diagnostic messages

On startup the ACRON Provider opens a window with diagnostic messages. The log file is stored under the relevant provider name in the ACRON installation path, in the `Log` directory.

Note

As diagnosis mode heavily influences the performance of the application, and the recorded messages can normally only be evaluated by Technical Support, you should only activate it when prompted to do so by Support.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.videc.de/acron-9.3/en/anlagenkonfiguration/prozessanbindung/provider/providerid/treiberauswahl/universeller-odbc-treiber-fuer-alarme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
