Connector

TDengine provides a rich set of APIs (application development interface). To facilitate users to develop their applications quickly, TDengine supports connectors for multiple programming languages, including official connectors for C/C++, Java, Python, Go, Node.js, C#, and Rust. These connectors support connecting to TDengine clusters using both native interfaces (taosc) and REST interfaces (not supported in a few languages yet). Community developers have also contributed several unofficial connectors, such as the ADO.NET connector, the Lua connector, and the PHP connector.

TDengine Database image-connector

Supported platforms

Currently, TDengine’s native interface connectors can support platforms such as x64 and ARM hardware platforms and Linux/Windows/macOS development environments. The comparison matrix is as follows.

CPU OS Java Python Go Node.js C# Rust C/C++
X86 64bit Linux ● ● ● ● ● ● ●
X86 64bit Win64 ● ● ● ● ● ● ●
X86 64bit macOS ○ ● ● ○ ○ ● ●
ARM64 Linux ● ● ● ● ○ ○ ●
ARM64 macOS ○ ● ● ○ ○ ● ●

Where ● means the official test verification passed, ○ means the unofficial test verification passed, — means no assurance.

Using REST connection can support a broader range of operating systems as it does not rely on client drivers.

Version support

TDengine version updates often add new features, and the connector versions in the list are the best-fit versions of the connector.

TDengine Versions Java Python Go C# Node.js Rust
3.0.0.0 and later 3.0.2 + latest version 3.0 branch 3.0.0 3.0.0 current version
2.4.0.14 and up 2.0.38 latest version develop branch 1.0.2 - 1.0.6 2.0.10 - 2.0.12 current version
2.4.0.4 - 2.4.0.13 2.0.37 latest version develop branch 1.0.2 - 1.0.6 2.0.10 - 2.0.12 current version
2.2.x.x 2.0.36 latest version master branch n/a 2.0.7 - 2.0.9 current version
2.0.x.x 2.0.34 latest version master branch n/a 2.0.1 - 2.0.6 current version

Functional Features

Comparing the connector support for TDengine functional features as follows.

Using the native interface (taosc)

Functional Features Java Python Go C# Node.js Rust
Connection Management Support Support Support Support Support Support
Regular Query Support Support Support Support Support Support
Parameter Binding Support Support Support Support Support Support
Subscription (TMQ) Support Support Support Support Support Support
Schemaless Support Support Support Support Support Support
DataFrame Not Supported Support Not Supported Not Supported Not Supported Not Supported
connector - 图2info

The different database framework specifications for various programming languages do not mean that all C/C++ interfaces need a wrapper.

Use HTTP Interfaces (REST or WebSocket)

Functional Features Java Python Go C# Node.js Rust
Connection Management Support Support Support Support Support Support
Regular Query Support Support Support Support Support Support
Parameter Binding Not supported Not supported support Support Not supported Support
Subscription (TMQ) Not supported Not supported support Not supported Not supported Support
Schemaless Not supported Not supported Not supported Not supported Not supported Not supported
Bulk Pulling (based on WebSocket) Support Support Support support Support Support
DataFrame Not supported Support Not supported Not supported Not supported Not supported
connector - 图3warning
  • Regardless of the programming language chosen for the connector, TDengine versions 2.0 and above recommend that each thread of a database application create a separate connection. Or create a connection pool based on threads to avoid interference between threads with the “USE statement” state within a connection (but the connection’s query and write operations are thread-safe).

Install Client Driver

connector - 图4info

The client driver needs to be installed if you use the native interface connector on a system that does not have the TDengine server software installed.

Install

  • Linux
  • Windows
  • MacOS

  • Download the client installation package

Download TDengine

TDengine Database

Enter your email to receive a download link

I would like to receive TDengine news and communications at this address.

Submit

Close

All Downloads 2. Unzip

Download the package to any directory the current user has read/write permission. Then execute tar -xzvf TDengine-client-VERSION.tar.gz command. The VERSION should be the version of the package you just downloaded. 3. Execute the install script

Once the package is unzipped, you will see the following files in the directory:

  • install_client.sh: install script
  • taos.tar.gz: client driver package
  • driver: TDengine client driver
  • examples: some example programs of different programming languages (C/C#/go/JDBC/MATLAB/python/R) You can run install_client.sh to install it.
  • configure taos.cfg

Edit taos.cfg file (full path is /etc/taos/taos.cfg by default), modify firstEP with actual TDengine server’s End Point, for example h1.tdengine.com:6030

connector - 图6tip
  1. If the computer does not run the TDengine service but installs the TDengine client driver, then you need to config firstEP in taos.cfg only, and there is no need to configure FQDN;
  2. If you encounter the “Unable to resolve FQDN” error, please make sure the FQDN in the /etc/hosts file of the current computer is correctly configured, or the DNS service is correctly configured.
  3. Download the client installation package

Download TDengine

TDengine Database

Enter your email to receive a download link

I would like to receive TDengine news and communications at this address.

Submit

Close

All Downloads 4. Execute the installer, select the default value as prompted, and complete the installation 5. Installation path

The default installation path is C:\TDengine, including the following files (directories).

  • taos.exe: TDengine CLI command-line program
  • taosadapter.exe: server-side executable that provides RESTful services and accepts writing requests from a variety of other softwares
  • taosBenchmark.exe: TDengine testing tool
  • cfg: configuration file directory
  • driver: client driver dynamic link library
  • examples: sample programs bash/C/C#/go/JDBC/Python/Node.js
  • include: header files
  • log: log file
  • unins000.exe: uninstaller
  • configure taos.cfg

Edit the taos.cfg file (default path C:\TDengine\cfg\taos.cfg) and change the firstEP to the End Point of the TDengine server, for example: h1.tdengine.com:6030.

connector - 图8tip
  1. If you use FQDN to connect to the server, you must ensure the local network environment DNS is configured, or add FQDN addressing records in the hosts file, e.g., edit C:\Windows\system32\drivers\etc\hosts and add a record like the following: 192.168.1.99 h1.taosd.com..
  2. Uninstall: Run unins000.exe to uninstall the TDengine client driver.
  3. Download the client installation package

Download TDengine

TDengine Database

Enter your email to receive a download link

I would like to receive TDengine news and communications at this address.

Submit

Close

All Downloads 4. Execute the installer, select the default value as prompted, and complete the installation. If the installation is blocked, you can right-click or ctrl-click on the installation package and select Open. 5. configure taos.cfg

Edit taos.cfg file (full path is /etc/taos/taos.cfg by default), modify firstEP with actual TDengine server’s End Point, for example h1.tdengine.com:6030

connector - 图10tip
  1. If the computer does not run the TDengine service but installs the TDengine client driver, then you need to config firstEP in taos.cfg only, and there is no need to configure FQDN;
  2. If you encounter the “Unable to resolve FQDN” error, please make sure the FQDN in the /etc/hosts file of the current computer is correctly configured, or the DNS service is correctly configured.

Verify

After completing the above installation and configuration and you have confirmed that the TDengine service is up and running, you can execute the TDengine CLI tool to log in.

  • Linux
  • Windows
  • MacOS

Execute TDengine CLI program taos directly from the Linux shell to connect to the TDengine service and enter the TDengine CLI interface, as shown in the following example.

1. $ taos

3. taos> show databases;
4. name              |
5. =================================
6. information_schema             |
7. performance_schema             |
8. db                             |
9. Query OK, 3 rows in database (0.019154s)

11. taos>

Go to the C:\TDengine directory from cmd and execute TDengine CLI program taos.exe directly to connect to the TDengine service and enter the TDengine CLI interface, for example, as follows:

1. taos> show databases;
2. name              |
3. =================================
4. information_schema             |
5. performance_schema             |
6. test                           |
7. Query OK, 3 rows in database (0.123000s)

9. taos>

Execute TDengine CLI program taos directly from the macOS shell to connect to the TDengine service and enter the TDengine CLI interface, as shown in the following example.

1. $ taos

3. taos> show databases;
4. name              |
5. =================================
6. information_schema             |
7. performance_schema             |
8. db                             |
9. Query OK, 3 rows in database (0.019154s)

11. taos>