#ODBC驱动
ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问数据库,这些API利用SQL来完成其大部分任务。标准的ODBC接口定义了如下内容:
- ODBC函数调用库,应用程序通过它可以连接到数据源,执行SQL命令并检索结果
- 基于SQL-99规范的SQL语法
- 一套标准的错误码
- 一套连接并登录到数据源的标准方式
- 对数据类型的标准描述
YashanDB ODBC驱动是YashanDB对ODBC API的实现。
# 连接到数据源
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLAllocHandle (opens new window) | ISO 92 | 获取环境、连接、语句或描述符句柄。 | SQLAllocHandle | 部分支持 |
| SQLConnect (opens new window) | ISO 92 | 按数据源名称、用户 ID 和密码连接到特定驱动程序。 | SQLConnect | 已支持 |
| SQLDriverConnect (opens new window) | ODBC | 通过连接字符串或请求驱动程序管理器和驱动程序显示用户的连接对话框连接到特定驱动程序。 | SQLDriverConnect | 已支持 |
| SQLBrowseConnect (opens new window) | ODBC | 返回连接属性和有效属性值的连续级别。 为每个连接属性指定值后, 将连接到数据源。 | 未支持 |
# 获取有关驱动程序和数据源的信息
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLDataSources (opens new window) | ISO 92 | 返回可用数据源的列表。 | SQLDataSources | 已支持 |
| SQLDrivers (opens new window) | ODBC | 返回已安装的驱动程序及其属性的列表。 | 未支持 | |
| SQLGetInfo (opens new window) | ISO 92 | 返回有关特定驱动程序和数据源的信息。 | SQLGetInfo | 部分支持 |
| SQLGetFunctions (opens new window) | ISO 92 | 返回支持的驱动程序函数。 | SQLGetFunctions | 已支持 |
| SQLGetTypeInfo (opens new window) | ISO 92 | 返回有关支持的数据类型的信息。 | 未支持 |
# 设置和检索驱动程序属性
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLSetConnectAttr (opens new window) | ISO 92 | 设置连接属性。 | SQLSetConnectAttr | 部分支持 |
| SQLGetConnectAttr (opens new window) | ISO 92 | 返回连接属性的值。 | SQLGetConnectAttr | 部分支持 |
| SQLSetEnvAttr (opens new window) | ISO 92 | 设置环境属性。 | SQLSetEnvAttr | 部分支持 |
| SQLGetEnvAttr (opens new window) | ISO 92 | 返回环境属性的值。 | SQLGetEnvAttr | 部分支持 |
| SQLSetStmtAttr (opens new window) | ISO 92 | 设置语句属性。 | SQLSetStmtAttr | 部分支持 |
| SQLGetStmtAttr (opens new window) | ISO 92 | 返回语句属性的值。 | SQLGetStmtAttr | 部分支持 |
# 设置和检索描述符字段
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLGetDescField (opens new window) | ISO 92 | 返回单个描述符字段的值。 | SQLGetDescField | 部分支持 |
| SQLGetDescRec (opens new window) | ISO 92 | 返回多个描述符字段的值。 | 未支持 | |
| SQLSetDescField (opens new window) | ISO 92 | 设置单个描述符字段。 | SQLSetDescField | 部分支持 |
| SQLSetDescRec (opens new window) | ISO 92 | 设置多个描述符字段。 | 未支持 | |
| SQLCopyDesc (opens new window) | ISO 92 | 将描述符信息从一个描述符句柄复制到另一个描述符句柄。 | 未支持 |
# 准备SQL请求
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLPrepare (opens new window) | ISO 92 | 准备一SQL语句供以后执行。 | SQLPrepare | 已支持 |
| SQLBindParameter (opens new window) | ODBC | 为SQL语句中的参数分配存储。 | SQLBindParameter | 已支持 |
| SQLGetCursorName (opens new window) | ISO 92 | 返回与语句句柄关联的游标名称。 | 未支持 | |
| SQLSetCursorName (opens new window) | ISO 92 | 指定游标名称。 | 未支持 | |
| SQLSetScrollOptions (opens new window) | ODBC | 设置控制游标行为的选项。 | 未支持 |
# 提交请求
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLExecute (opens new window) | ISO 92 | 执行已准备的语句。 | SQLExecute | 已支持 |
| SQLExecDirect (opens new window) | ISO 92 | 执行语句。 | SQLExecDirect | 已支持 |
| SQLNativeSql (opens new window) | ODBC | 返回由驱动程序翻译的SQL语句的文本。 | 未支持 | |
| SQLDescribeParam (opens new window) | ODBC | 返回语句中特定参数的说明。 | 未支持 | |
| SQLNumParams (opens new window) | ISO 92 | 返回语句中的参数个数。 | SQLNumParams | 已支持 |
| SQLParamData (opens new window) | ISO 92 | 与SQLPutData结合使用,在执行时提供参数数据。(对于长数据类型很有用。) | 未支持 | |
| SQLPutData (opens new window) | ISO 92 | 发送参数的一部分或全部数据值。(对于长数据类型很有用。) | 未支持 |
# 检索结果和有关结果的信息
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLRowCount (opens new window) | ISO 92 | 返回受插入、更新或删除请求影响的行数。 | SQLRowCount | 已支持 |
| SQLNumResultCols (opens new window) | ISO 92 | 返回结果集中的列数。 | SQLNumResultCols | 已支持 |
| SQLDescribeCol (opens new window) | ISO 92 | 描述结果集的列。 | SQLDescribeCol | 已支持 |
| SQLColAttribute (opens new window) | ISO 92 | 描述结果集内列的属性。 | SQLColAttribute | 部分支持 |
| SQLBindCol (opens new window) | ISO 92 | 为结果列分配存储并指定数据类型。 | SQLBindCol | 已支持 |
| SQLFetch (opens new window) | ISO 92 | 返回多个结果行。 | SQLFetch | 已支持 |
| SQLFetchScroll (opens new window) | ISO 92 | 返回可滚动的结果行。 | 未支持 | |
| SQLGetData (opens new window) | ISO 92 | 返回结果集的一行的一列的一部分或全部。 (对于长数据类型很有用。) | 未支持 | |
| SQLSetPos (opens new window) | ODBC | 将游标定位在提取的数据块中,并允许应用程序刷新行集的数据,或者更新或删除结果集内的数据。 | 未支持 | |
| SQLBulkOperations (opens new window) | ODBC | 执行批量插入和批量书签操作,包括按书签更新、删除和提取。 | 未支持 | |
| SQLMoreResults (opens new window) | ODBC | 确定是否有更多结果集可用,如果是,则初始化下一个结果集的处理。 | 未支持 | |
| SQLGetDiagField (opens new window) | ISO 92 | 返回诊断数据结构((返回指定的单个字段的值) 。 | SQLGetDiagField | 部分支持 |
| SQLGetDiagRec (opens new window) | ISO 92 | 返回诊断数据结构((返回固定的多个字段的值)。 | SQLGetDiagRec | 已支持 |
# 获取有关数据源的系统表的信息 (目录函数)
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLColumnPrivileges (opens new window) | ODBC | 返回一个或多个表的列和关联特权的列表。 | 未支持 | |
| SQLColumns (opens new window) | OPEN GROUP | 返回指定表中的列名的列表。 | 未支持 | |
| SQLForeignKeys (opens new window) | ODBC | 返回构成外键的列名列表(如果指定表存在外键)。 | 未支持 | |
| SQLPrimaryKeys (opens new window) | ODBC | 返回列名的列表,这些列名是表的主键。 | 未支持 | |
| SQLProcedureColumns (opens new window) | ODBC | 返回输入和输出参数的列表,以及组成指定过程的结果集的列。 | 未支持 | |
| SQLProcedures (opens new window) | ODBC | 返回存储在特定数据源中的过程名称的列表。 | 未支持 | |
| SQLSpecialColumns (opens new window) | OPEN GROUP | 返回有关唯一标识指定表中的行的最佳列集的信息,或当事务更新行中的任意值时自动更新的列的信息。 | 未支持 | |
| SQLStatistics (opens new window) | ISO 92 | 返回有关单个表以及与该表关联的索引列表的统计信息。 | 未支持 | |
| SQLTablePrivileges (opens new window) | ODBC | 返回表的列表以及与每个表关联的特权。 | 未支持 | |
| SQLTables (opens new window) | OPEN GROUP | 返回存储在特定数据源中的表名的列表。 | 未支持 |
# 终止语句
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLFreeStmt (opens new window) | ISO 92 | 结束语句处理,放弃挂起的结果,并(可选)释放与语句句柄关联的所有资源。 | SQLFreeStmt | 部分支持 |
| SQLCloseCursor (opens new window) | ISO 92 | 关闭已在语句句柄上打开的游标。 | SQLCloseCursor | 已支持 |
| SQLCancel (opens new window) | ISO 92 | 取消对当前语句的处理。 | SQLCancel | 已支持 |
| SQLCancelHandle (opens new window) | ODBC | 取消对语句或连接的处理。 | 未支持 | |
| SQLEndTran (opens new window) | ISO 92 | 提交或回滚事务。 | SQLEndTran | 已支持 |
# 终止连接
| 函数名称 | 一致性 | 目标 | 函数实现说明 | 支持情况 |
|---|---|---|---|---|
| SQLDisconnect (opens new window) | ISO 92 | 关闭连接。 | SQLDisconnect | 已支持 |
| SQLFreeHandle (opens new window) | ISO 92 | 释放环境、连接、语句或描述符句柄。 | SQLFreeHandle | 部分支持 |