Files
pnoker 769d1cb977 style: apply repository-wide formatting
- expand single-line Javadocs to multi-line blocks, rewrap Markdown prose, and reflow POM, YAML, and TypeScript formatting
- formatting only: no Java code lines changed, no build-file semantics changed
- verified: backend compile and check_documentation.py pass, pnpm check and pnpm lint:check pass, and the dc3 YAML files parse
2026-08-25 13:35:00 +08:00

3.7 KiB

DC3 Driver SQL Server

Overview

dc3-driver-sqlserver is the Microsoft SQL Server database driver of the IoT DC3 platform. It connects to a SQL Server instance via JDBC, reads point values by executing configured SQL SELECT queries on a schedule, and writes / executes SQL for write commands. It builds on the shared AbstractJdbcDriverCustomService from dc3-common-sql, which constructs the JDBC URL jdbc:sqlserver://<host>:<port>;databaseName=<database>;encrypt=<encrypt>;trustServerCertificate=<...>; using the com.microsoft.sqlserver.jdbc.SQLServerDriver.

Module Information

  • Group ID: io.github.pnoker
  • Artifact ID: dc3-driver-sqlserver
  • Driver Name: SQL Server Driver

Driver Attributes (Device-level)

Attribute Code Type Default Description
Host host STRING localhost SQL Server host
Port port INT 1433 SQL Server port
Database database STRING SQL Server database name
Username username STRING root SQL Server username
Password password STRING SQL Server password
Query Timeout queryTimeout INT 30 SQL query timeout in seconds
Encrypt encrypt STRING false SQL Server encrypt connection
Trust Server Certificate trustServerCertificate STRING true SQL Server trust server certificate

Point Attributes

Attribute Code Type Description
Read Query readQuery STRING SQL SELECT query for reading point value
Write Query writeQuery STRING SQL UPDATE/INSERT using a single ? placeholder for the value (bound as a parameter)

Command Attributes (write)

Attribute Code Type Description
Execute Query executeQuery STRING SQL query to execute for command

The module application.yml is authoritative for attribute codes, types, default values, scheduling, health, and local buffering. Keep this README aligned when those user-facing settings change.

Prerequisites

A reachable Microsoft SQL Server instance. The connection URL, credentials, encryption flags, and the SQL queries to run are all supplied through the driver and point attributes above — nothing is hardcoded.

Running Locally

1. Start Infrastructure and Center Services

make up-db
make up-dev GROUP=core

2. Build and Run

mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-sqlserver -am package
java -jar dc3-driver/dc3-driver-sqlserver/target/dc3-driver-sqlserver.jar

Testing

Run the module tests from the repository root:

mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-sqlserver -am test
  • dc3-common-driver — Driver SDK for registration, scheduling, and RabbitMQ integration
  • dc3-common-sql — AbstractJdbcDriverCustomService base class providing JDBC read/write logic