ODBC Service

From ESS-WIKI
Revision as of 09:18, 13 February 2020 by Sam35.lin (Talk | contribs) (.)

Jump to: navigation, search

Introduction

RTENOTITLE


Open Database Connectivity (ODBC) is a standard API for access database. It design independent of database systems and operating systems.

ODBC service can become multi-module interface. User just store data in csv file or SQL Server, then ODBC handler can upload data to Cloud.

ODBC Service currently support database:

  • CSV file
  • Microsoft SQL Server

Notice:

  • ODBC service only support one database at the same time. CAN NOT be configured to support multiple databases.

ODBC Service

ODBC FlowChart.png


ODBC service can easily upload data to the cloud. It will be load the config file and the last data of system record when the service does initialization. The last recorded data Compare with data of database (CSV file) to decide whether to retain index value or not. Every time new data is detected from database, the service will upload new data to cloud and record the last data that is prevent repeat to upload when the service is restarted.

How to

Software Requirements

  • MQTT broker  V1.0.4
  • RMM Agent

Installation

1.Double click Agent_ODBC_Handler_X.X.X.exe to install.

2.Click "Next" to continue the setup wizard.

3.Select installation folder then click "Next"

4.Click "Next" to begin the installation

5. complete the installation, click "Finish" to exit the setup wizard

Edit Config file

In Windows

  • Use file explorer to open ODBC Service folder.(Default: C:\Program Files (x86)\Advantech\Agent_ODBC_Handler).
  • Edit the file ODBC_Handler.ini
  • Once config is changed, please using Windows Services Manager to restart Agent_ODBC_Handler service.

Configuration​ for support CSV file

1.Config the [Text] session.

FilePath: Set path of the database file (CSV file) location​.

FieldName & FieldDataType: Define the data type of field name. FieldName is according to database (CSV file) to set. User arrangement according to "FieldName" item to give data type in "FieldDataType" item. Both of the maximum length of character refer Release

Note:

  • The maximum number of fields is 255.
  • The maximum number of records is 10000 in single CSV file. If more than 10000 records, please recycle the CSV file, write data from start position.

Support data type: timestamp, string, double, boolean.

Example :

Attention: Database must have field of timestamp and set it in the first column. Every row of data which maximum length refer Limitation.

Database (CSV file)

ODBC set config2.JPG

ODBC_Handler.ini

[Text]
FilePath=D:\txt
FieldName=TIME,No#1EC,No#1ph,No#2EC
FieldDataType=timestamp,double,double,string


2. Copy CSV file to "FilePath" folder.

Attention: Support to load amount of CSV files at a time please refer Limitation.

3.Restart service of Agent_ODBC_handler.

4. Login Cloud site and turn on auto-report.

ODBC set config1.PNG

Recommend usage

1. Name of CSV file, field name & data in CSV file don't include blank and symbol (e.g. + - * =.....). 

2. Auto report interval is close to the update data to CSV interval.

3. Please follow this data format in CSV.

    The first row puts field name and insert comma between each name, maximum number of fields is 255. ( Note! Don't include newline in field name row)

    The first column puts timastamp.

TIME,No.1EC,No.1ph,No.2EC
2017/10/9 00:18,1.52,5.93,2.26
2017/10/9 00:38,1.52,5.93,2.29
2017/10/9 00:58,1.52,5.93,2.26
2017/10/9 01:18,1.52,5.93,2.25
2017/10/9 01:38,1.52,5.93,2.3

4. If field is for double format, even though data is integer format,  please add decimal point. For example, put 0.0 , 2.0 , 3.0 in double format field..

Write CSV file

User need observe the following points:

1.Append data to database: User write data to database (CSV file) please add data after the last index.

2.Add database (CSV file) is invalid at runtime service.

3.Have need of timestamp item and put in the fisrt column about data of database.

4.Don't prohibit reading permission when user write data to database.

5. Please follow the time format yyyy/MM/dd hh:mm:ss:fff. If you don't need millisecond yyyy/MM/dd hh:mm:ss.

NOTE: Time format must be consistency to include millisecond  or not in CSV.


Recycle:

Please remove all of the data (keep field name row) in csv file.

User should add data from the first row (after field name row) and one by one way to csv file after removing data. Don't add multiple row data at a time.

Configuration​ for support Microsoft SQL Server

1. Please make sure SQL Server driver is installed in your Windows System.

RTENOTITLE

2. Edit setting file (ODBC_Handler.ini) as below:

[Setting]
ODBCDriver=SQL Server


[MSSQL]
Server=172.22.12.78
Port=1433
DataBase=advdb
Uid=advuser
Pwd=edgesense
FieldName=ts,name,price,qty
FieldDataType=timestamp,string,double,double

ODBCDriver

  • use "SQL Server" , don't need to change.

Server

  • Assign Microsoft SQL Server ip

Port

  • Assign Microsoft SQL Server port

DataBase

  • Assign database name

Uid

  • Assign login account for accessing database

Pwd

  • Assign login password for accessing database

FieldName

  • Assign field name for ODBC Service to monitor.

FieldDataType

  • Assign data type for ODBC Service to recognize the field.
  • Support data type: timestamp, string, double, boolean.

Notice:

  • Attention: Database must have a field of timestamp and set it in the first column in setting file.



Our Sample database as below picture

  • database name is advdb
  • have 1 table , table name is ProductTable
  • have 4 fields: ts, name, price, qty

RTENOTITLE

Service control

In Windows

Check if ​Agent_ODBC_Handler service is running:

  • Use Service to check status of ​Agent_ODBC_Handler service

Restart ​Agent_ODBC_Handler service:

  • Use Service to restart ​Agent_ODBC_Handler service

Start ​Agent_ODBC_Handler service:

  • Use Service start ​Agent_ODBC_Handler service

Stop ​Agent_ODBC_Handler service:

  • Use Service stop Agent_ODBC_Handler service


Json Data Format

{
    "ODBC_Handler": {
        "info": {
            "bn": "info",
            "e": [
                {
                    "n": "name",
                    "sv": "ODBC_Handler"
                },
                {
                    "n": "description",
                    "sv": "This service is ODBC Service"
                },
                {
                    "n": "version",
                    "sv": "1.1.0"
                }
            ]
        },
        "Setting": {
            "bn": "Setting",
            "e": [
                {
                    "n": "ODBCDriver",
                    "sv": "Microsoft Text Driver (*.txt; *.csv)"
                },
                {
                    "n": "ReadOnly",
                    "bv": false
                }
            ]
        },
        "Tables": {
            "bn": "Tables",
            "histdata": {
                "bn": "histdata",
                "e": [
                    {
                        "n": "TIME",
                        "sv": "2017-10-09 03:18:00"
                    },
                    {
                        "n": "No#1EC",
                        "v": 1
                    },
                    {
                        "n": "No#1ph",
                        "v": 5.930000
                    },
                    {
                        "n": "No#2EC",
                        "sv": "2.26"
                    }
                ]
            }
        },
        "opTS": {
            "$date": 1507490280000
        }
    }
}

Use Case

ODBC_UseCase_MIRAI_2018-06

Release

Index Version
Date
Platform
OS
Release Note
Limitation Download
1 1.1.1 2018/06/07 x86_64 CPU
Windows
ODBC_Handler_Release_note.pdf

1. "FieldName" & "FieldDataType" item maximum length of character is 1024.

2. In CSV file, Every row of data which  maximum length of character is 1024.

3. Load 64 CSV files at a time.

Download - v1.1.1

Above files are available at local server, please paste file's url in File Explorer to copy file.

2 1.1.2 2019/01/18 x86_64 CPU Windows ODBC_releasenote.pdf

1. "FieldName" & "FieldDataType" item maximum length of character is 4096.

2. In CSV file, Every row of data which maximum length of character is 4096.

3. Load 256 CSV files at a time.

Download - v1.1.2

Above files are available at local server, please paste file's url in File Explorer to copy file.

3 1.1.3 2019/7/12 x86_64 CPU
Windows
  • Support Microsoft SQL Server
  • PaaS/EdgeSense 1.0.101 + WISE-Agent 1.2.8

ODBC-1.1.3.exe

Above files are available at local server, please paste file's url in File Explorer to copy file.