116 lines
6.2 KiB
Plaintext
116 lines
6.2 KiB
Plaintext
---
|
|
title: 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.
|
|
|
|

|
|
|
|
## Supported platforms
|
|
|
|
Currently, TDengine's native interface connectors can support platforms such as X64/X86/ARM64/ARM32/MIPS/Alpha hardware platforms and Linux/Win64/Win32 development environments. The comparison matrix is as follows.
|
|
|
|
| **CPU** | **OS** | **JDBC** | **Python** | **Go** | **Node.js** | **C#** | **Rust** | C/C++ |
|
|
| ------- | ------ | -------- | ---------- | ------ | ----------- | ------ | -------- | ----- |
|
|
| **X86 64bit** | **Linux** | ● | ● | ● | ● | ● | ● | ● |
|
|
| **X86 64bit** | **Win64** | ● | ● | ● | ● | ● | ● | ● |
|
|
| **X86 64bit** | **Win32** | ● | ● | ● | ● | ○ | ○ | ● |
|
|
| **X86 32bit** | **Win32** | ○ | ○ | ○ | ○ | ○ | ○ | ● |
|
|
| **ARM64** | **Linux** | ● | ● | ● | ● | ○ | ○ | ● |
|
|
| **ARM32** | **Linux** | ● | ● | ● | ● | ○ | ○ | ● |
|
|
| **MIPS** | **Linux** | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|
|
|
|
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** |
|
|
| --------------------- | -------- | ---------- | ------------ | ------------- | --------------- | -------- |
|
|
| **2.4.0.14 and up** | 2.0.38 | current version | develop branch | 1.0.2 - 1.0.6 | 2.0.10 - 2.0.12 | current version |
|
|
| **2.4.0.6 and up** | 2.0.37 | current version | develop branch | 1.0.2 - 1.0.6 | 2.0.10 - 2.0.12 | current version |
|
|
| **2.4.0.4 - 2.4.0.5** | 2.0.37 | current version | develop branch | 1.0.2 - 1.0.6 | 2.0.10 - 2.0.12 | current version |
|
|
| **2.2.x.x ** | 2.0.36 | current version | master branch | n/a | 2.0.7 - 2.0.9 | current version |
|
|
| **2.0.x.x ** | 2.0.34 | current 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 |
|
|
| **Continuous Query** | Support | Support | Support | Support | Support | Support |
|
|
| **Parameter Binding** | Support | Support | Support | Support | Support | Support |
|
|
| **Subscription** | Support | Support | Support | Support | Support | Not Supported |
|
|
| **Schemaless** | Support | Support | Support | Support | Support | Support |
|
|
| **DataFrame** | Not Supported | Support | Not Supported | Not Supported | Not Supported | Not Supported |
|
|
|
|
:::info
|
|
The different database framework specifications for various programming languages do not mean that all C/C++ interfaces need a wrapper.
|
|
:::
|
|
|
|
### Using the REST interface
|
|
|
|
| **Functional Features** | **Java** | **Python** | **Go** | **C# (not supported yet)** | **Node.js** | **Rust** |
|
|
| ------------------------------ | -------- | ---------- | -------- | ------------------ | ----------- | -------- |
|
|
| **Connection Management** | Support | Support | Support | N/A | Support | Support |
|
|
| **Regular Query** | Support | Support | Support | N/A | Support | Support |
|
|
| **Continous Query ** | Support | Support | Support | N/A | Support | Support |
|
|
| **Parameter Binding** | Not Supported | Not Supported | Not Supported | N/A | Not Supported | Not Supported |
|
|
| **Subscription** | Not Supported | Not Supported | Not Supported | N/A | Not Supported | Not Supported |
|
|
| **Schemaless** | Not supported | Not Supported | Not Supported | N/A | Not Supported | Not supported |
|
|
| **Bulk Pulling (based on WebSocket) **| Support | Not Supported | Not Supported | N/A | Not Supported | Not Supported |
|
|
| **DataFrame** | Not supported | Support | Not supported | N/A | Not supported | Not supported |
|
|
|
|
:::warning
|
|
|
|
- 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).
|
|
|
|
:::
|
|
|
|
import Tabs from "@theme/Tabs";
|
|
import TabItem from "@theme/TabItem";
|
|
import InstallOnWindows from "./_linux_install.mdx";
|
|
import InstallOnLinux from "./_windows_install.mdx";
|
|
import VerifyWindows from "./_verify_windows.mdx";
|
|
import VerifyLinux from "./_verify_linux.mdx";
|
|
|
|
## Install Client Driver
|
|
|
|
:::info
|
|
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.
|
|
|
|
:::
|
|
|
|
### Installation steps
|
|
|
|
<Tabs defaultValue="linux" groupId="os">
|
|
<TabItem value="linux" label="Linux">
|
|
<InstallOnWindows />
|
|
</TabItem>
|
|
<TabItem value="windows" label="Windows">
|
|
<InstallOnLinux />
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
### Installation Verification
|
|
|
|
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.
|
|
|
|
<Tabs defaultValue="linux" groupId="os">
|
|
<TabItem value="linux" label="Linux">
|
|
<VerifyLinux />
|
|
</TabItem>
|
|
<TabItem value="windows" label="Windows">
|
|
<VerifyWindows />
|
|
</TabItem>
|
|
</Tabs>
|
|
|