From cbcede731d1fe66a92239714d83f02fb14ee4329 Mon Sep 17 00:00:00 2001 From: Yaming Pei Date: Tue, 11 Feb 2025 09:11:02 +0800 Subject: [PATCH] docs: add api table for zh-cn --- docs/zh/14-reference/05-connector/50-odbc.mdx | 138 ++++++++++++++++-- 1 file changed, 126 insertions(+), 12 deletions(-) diff --git a/docs/zh/14-reference/05-connector/50-odbc.mdx b/docs/zh/14-reference/05-connector/50-odbc.mdx index 4bc006fd9e..4f01550490 100644 --- a/docs/zh/14-reference/05-connector/50-odbc.mdx +++ b/docs/zh/14-reference/05-connector/50-odbc.mdx @@ -149,9 +149,123 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 ## API 参考 -本节按功能分类汇总了 ODBC API,关于完整的 ODBC API 参考,请访问 http://msdn.microsoft.com/en-us/library/ms714177.aspx 的 ODBC 程序员参考页面。 +### API 列表 -### 数据源和驱动程序管理 +- **目前导出的ODBC函数有**: + +| ODBC/Setup API | Linux | macOS | Windows | Note | +| :----- | :---- | :---- | :---- | :---- | +| ConfigDSN | ❌ | ❌ | ✅ | | +| ConfigDriver | ❌ | ❌ | ✅ | | +| ConfigTranslator | ❌ | ❌ | ✅ | | +| SQLAllocHandle | ✅ | ✅ | ✅ | | +| SQLBindCol | ✅ | ✅ | ✅ | 只能按列绑定 | +| SQLBindParameter | ✅ | ✅ | ✅ | 只能按列绑定 | +| SQLBrowseConnect | ❌ | ❌ | ❌ | | +| SQLBulkOperations | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLCloseCursor | ✅ | ✅ | ✅ | | +| SQLColAttribute | ✅ | ✅ | ✅ | | +| SQLColumnPrivileges | ❌ | ❌ | ❌ | TDengine 没有严格对应的 | +| SQLColumns | ✅ | ✅ | ✅ | | +| SQLCompleteAsync | ❌ | ❌ | ❌ | | +| SQLConnect | ✅ | ✅ | ✅ | | +| SQLCopyDesc | ❌ | ❌ | ❌ | | +| SQLDescribeCol | ✅ | ✅ | ✅ | | +| SQLDescribeParam | ✅ | ✅ | ✅ | | +| SQLDisconnect | ✅ | ✅ | ✅ | | +| SQLDriverConnect | ✅ | ✅ | ✅ | | +| SQLEndTran | ✅ | ✅ | ✅ | TDengine是非事务性的,因此这最多是模拟 | +| SQLExecDirect | ✅ | ✅ | ✅ | | +| SQLExecute | ✅ | ✅ | ✅ | | +| SQLExtendedFetch | ❌ | ❌ | ❌ | | +| SQLFetch | ✅ | ✅ | ✅ | | +| SQLFetchScroll | ✅ | ✅ | ✅ | TDengine 没有对应的, 仅仅实现 SQL_FETCH_NEXT | +| SQLForeignKeys | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLFreeHandle | ✅ | ✅ | ✅ | | +| SQLFreeStmt | ✅ | ✅ | ✅ | | +| SQLGetConnectAttr | ✅ | ✅ | ✅ | 支持部分属性,下面列出了不支持的属性 | +| SQLGetCursorName | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLGetData | ✅ | ✅ | ✅ | | +| SQLGetDescField | ❌ | ❌ | ❌ | | +| SQLGetDescRec | ❌ | ❌ | ❌ | | +| SQLGetDiagField | ✅ | ✅ | ✅ | | +| SQLGetDiagRec | ✅ | ✅ | ✅ | | +| SQLGetEnvAttr | ✅ | ✅ | ✅ | | +| SQLGetInfo | ✅ | ✅ | ✅ | | +| SQLGetStmtAttr | ✅ | ✅ | ✅ | 支持部分属性,下面列出了不支持的属性 | +| SQLGetTypeInfo | ✅ | ✅ | ✅ | | +| SQLMoreResults | ✅ | ✅ | ✅ | | +| SQLNativeSql | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLNumParams | ✅ | ✅ | ✅ | | +| SQLNumResultCols | ✅ | ✅ | ✅ | | +| SQLParamData | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLPrepare | ✅ | ✅ | ✅ | | +| SQLPrimaryKeys | ✅ | ✅ | ✅ | | +| SQLProcedureColumns | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLProcedures | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLPutData | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLRowCount | ✅ | ✅ | ✅ | | +| SQLSetConnectAttr | ✅ | ✅ | ✅ | 支持部分属性,下面列出了不支持的属性 | +| SQLSetCursorName | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLSetDescField | ❌ | ❌ | ❌ | | +| SQLSetDescRec | ❌ | ❌ | ❌ | | +| SQLSetEnvAttr | ✅ | ✅ | ✅ | | +| SQLSetPos | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLSetStmtAttr | ✅ | ✅ | ✅ | 支持部分属性,下面列出了不支持的属性 | +| SQLSpecialColumns | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLStatistics | ❌ | ❌ | ❌ | TDengine 没有对应的 | +| SQLTablePrivileges | ❌ | ❌ | ❌ | TDengine 没有严格对应的 | +| SQLTables | ✅ | ✅ | ✅ | | + +- **不支持的语句属性 (SQLSetStmtAttr)** + +| Attribute | Note | +| :----- | :---- | +| SQL_ATTR_CONCURRENCY | TDengine 没有 updatable-CURSOR 机制 | +| SQL_ATTR_FETCH_BOOKMARK_PTR | TDengine 没有 BOOKMARK 机制 | +| SQL_ATTR_IMP_PARAM_DESC | | +| SQL_ATTR_IMP_ROW_DESC | | +| SQL_ATTR_KEYSET_SIZE | | +| SQL_ATTR_PARAM_BIND_OFFSET_PTR | | +| SQL_ATTR_PARAM_OPERATION_PTR | | +| SQL_ATTR_ROW_NUMBER | 只读属性 | +| SQL_ATTR_ROW_OPERATION_PTR | | +| SQL_ATTR_SIMULATE_CURSOR | | + +- **不支持的连接属性 (SQLSetConnectAttr)** + +| Attribute | Note | +| :----- | :---- | +| SQL_ATTR_AUTO_IPD | 只读属性 | +| SQL_ATTR_CONNECTION_DEAD | 只读属性 | +| SQL_ATTR_ENLIST_IN_DTC | | +| SQL_ATTR_PACKET_SIZE | | +| SQL_ATTR_TRACE | | +| SQL_ATTR_TRACEFILE | | +| SQL_ATTR_TRANSLATE_LIB | | +| SQL_ATTR_TRANSLATE_OPTION | | + +- **允许任何带有 ODBC 库的编程语言与 TDengine 通信:** + +| programming language | ODBC-API or bindings/plugins | +| :----- | :---- | +| C/C++ | ODBC-API | +| CSharp | System.Data.Odbc | +| Erlang | odbc module | +| Go | [odbc](https://github.com/alexbrainman/odbc), database/sql | +| Haskell | HDBC, HDBC-odbc | +| Common Lisp | plain-odbc | +| Nodejs | odbc | +| Python3 | pyodbc | +| Rust | odbc | + + + +### API 功能分类 + +本节按功能分类汇总了 ODBC API,关于完整的 ODBC API 参考,请访问 [Microsoft Open Database Connectivity (ODBC)](https://learn.microsoft.com/en-us/sql/odbc/microsoft-open-database-connectivity-odbc)。 + +#### 数据源和驱动程序管理 - API: ConfigDSN - **是否支持**: 支持 @@ -169,7 +283,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 用于解析DSN的配置,在DSN配置和实际数据库驱动程序配置之间进行翻译或转换 -### 连接到数据源 +#### 连接到数据源 - API: SQLAllocHandle - **是否支持**: 支持 @@ -202,7 +316,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 在 ODBC 3.x 中,ODBC 2.x 函数 SQLAllocConnect 已替换为 SQLAllocHandle -### 获取有关驱动程序和数据源的信息 +#### 获取有关驱动程序和数据源的信息 - API: SQLDataSources - **是否支持**: 不支持 @@ -230,7 +344,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 返回有关支持的数据类型的信息 -### 设置和检索驱动程序属性 +#### 设置和检索驱动程序属性 - API: SQLSetConnectAttr - **是否支持**: 支持 @@ -283,7 +397,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 在 ODBC 3.x 中,ODBC 2.0 函数 SQLSetStmtOption 已替换为 SQLGetStmtAttr -### 准备SQL请求 +#### 准备SQL请求 - API: SQLAllocStmt - **是否支持**: 不支持 @@ -321,7 +435,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 设置控制光标行为的选项 -### 提交请求 +#### 提交请求 - API: SQLExecute - **是否支持**: 支持 @@ -359,7 +473,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 当使用流输入方式时,可以用于向输出参数发送数据块 -### 检索结果和关于结果的信息 +#### 检索结果和关于结果的信息 - API: SQLRowCount - **是否支持**: 支持 @@ -422,7 +536,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 执行批量插入和批量书签操作,包括更新、删除和按书签提取 -### 检索错误或诊断信息 +#### 检索错误或诊断信息 - API: SQLError - **是否支持**: 不支持 @@ -440,7 +554,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 返回附加诊断信息(多条诊断结果) -### 获取有关数据源的系统表项的信息 +#### 获取有关数据源的系统表项的信息 - API: SQLColumnPrivileges - **是否支持**: 不支持 @@ -493,7 +607,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 返回存储过程的列信息,包括输入输出参数的详细信息 -### 执行事务 +#### 执行事务 - API: SQLTransact - **是否支持**: 不支持 @@ -506,7 +620,7 @@ TDengine ODBC 支持两种连接 TDengine 数据库方式:WebSocket 连接与 - **作用**: 用于提交或回滚事务,TDengine 不支持事务,因此不支持回滚操作 -### 终止连接 +#### 终止连接 - API: SQLDisconnect - **是否支持**: 支持