本节总结了按功能分类的 ODBC 例程。
有关完整的 ODBC API 参考,请参阅位于 http://msdn.microsoft.com/en-us/library/ms714177.aspx的 ODBC 程序员参考。
应用程序可以调用SQLGetInfo
函数来获取有关连接器/ODBC 的一致性信息。要获取有关驱动程序中特定功能支持的信息,应用程序可以调用SQLGetFunctions
。
笔记
为了向后兼容,连接器/ODBC 驱动程序支持所有已弃用的功能。
下表列出了按任务分组的连接器/ODBC API 调用:
表 5.5 用于连接到数据源的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLAllocHandle |
是的 | ISO 92 | 获取环境、连接、语句或描述符句柄。 |
SQLConnect |
是的 | ISO 92 | 通过数据源名称、用户 ID 和密码连接到特定的驱动程序。 |
SQLDriverConnect |
是的 | ODBC | 通过连接字符串连接到特定驱动程序或请求驱动程序管理器和驱动程序为用户显示连接对话框。 |
SQLAllocEnv |
是的 | 弃用 | 获取从驱动程序分配的环境句柄。 |
SQLAllocConnect |
是的 | 弃用 | 获取连接句柄 |
表 5.6 用于获取有关驱动程序和数据源的信息的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLDataSources |
不 | ISO 92 | 返回可用数据源的列表,由驱动程序管理器处理 |
SQLDrivers |
不 | ODBC | 返回已安装的驱动程序及其属性的列表,由驱动程序管理器处理 |
SQLGetInfo |
是的 | ISO 92 | 返回有关特定驱动程序和数据源的信息。 |
SQLGetFunctions |
是的 | ISO 92 | 返回支持的驱动程序函数。 |
SQLGetTypeInfo |
是的 | ISO 92 | 返回有关支持的数据类型的信息。 |
表 5.7 用于设置和检索驱动程序属性的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLSetConnectAttr |
是的 | ISO 92 | 设置连接属性。 |
SQLGetConnectAttr |
是的 | ISO 92 | 返回连接属性的值。 |
SQLSetConnectOption |
是的 | 弃用 | 设置连接选项 |
SQLGetConnectOption |
是的 | 弃用 | 返回连接选项的值 |
SQLSetEnvAttr |
是的 | ISO 92 | 设置环境属性。 |
SQLGetEnvAttr |
是的 | ISO 92 | 返回环境属性的值。 |
SQLSetStmtAttr |
是的 | ISO 92 | 设置语句属性。 |
SQLGetStmtAttr |
是的 | ISO 92 | 返回语句属性的值。 |
SQLSetStmtOption |
是的 | 弃用 | 设置语句选项 |
SQLGetStmtOption |
是的 | 弃用 | 返回语句选项的值 |
表 5.8 用于准备 SQL 请求的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLAllocStmt |
是的 | 弃用 | 分配语句句柄 |
SQLPrepare |
是的 | ISO 92 | 准备一个 SQL 语句供以后执行。 |
SQLBindParameter |
是的 | ODBC | 为 SQL 语句中的参数分配存储空间。Connector/ODBC 5.2通过or
类型说明符添加了对“ out ”和“ inout ”
参数的
支持。(和
列不支持“ Out ”和“ inout ”参数。)SQL_PARAM_OUTPUT SQL_PARAM_INPUT_OUTPUT LONGTEXT LONGBLOB |
SQLGetCursorName |
是的 | ISO 92 | 返回与语句句柄关联的游标名称。 |
SQLSetCursorName |
是的 | ISO 92 | 指定游标名称。 |
SQLSetScrollOptions |
是的 | ODBC | 设置控制光标行为的选项。 |
表 5.9 用于提交请求的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLExecute |
是的 | ISO 92 | 执行准备好的语句。 |
SQLExecDirect |
是的 | ISO 92 | 执行一条语句 |
SQLNativeSql |
是的 | ODBC | 返回由驱动程序翻译的 SQL 语句的文本。 |
SQLDescribeParam |
不 | ODBC | 返回语句中特定参数的描述。连接器/ODBC 不支持——不应信任返回的结果。 |
SQLNumParams |
是的 | ISO 92 | 返回语句中参数的数量。 |
SQLParamData |
是的 | ISO 92 | 与 一起使用SQLPutData 以在执行时提供参数数据。(对长数据值有用。) |
SQLPutData |
是的 | ISO 92 | 发送参数的部分或全部数据值。(对长数据值有用。) |
表 5.10 用于检索结果和结果信息的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLRowCount |
是的 | ISO 92 | 返回受插入、更新或删除请求影响的行数。 |
SQLNumResultCols |
是的 | ISO 92 | 返回结果集中的列数。 |
SQLDescribeCol |
是的 | ISO 92 | 描述结果集中的列。 |
SQLColAttribute |
是的 | ISO 92 | 描述结果集中列的属性。 |
SQLColAttributes |
是的 | 弃用 | 描述结果集中列的属性。 |
SQLFetch |
是的 | ISO 92 | 返回多个结果行。 |
SQLFetchScroll |
是的 | ISO 92 | 返回可滚动的结果行。 |
SQLExtendedFetch |
是的 | 弃用 | 返回可滚动的结果行。 |
SQLSetPos |
是的 | ODBC | 将游标定位在获取的数据块中,并使应用程序能够刷新行集中的数据或更新或删除结果集中的数据。 |
SQLBulkOperations |
是的 | ODBC | 执行批量插入和批量书签操作,包括更新、删除和按书签获取。 |
表 5.11 用于检索错误或诊断信息的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLError |
是的 | 弃用 | 返回额外的错误或状态信息 |
SQLGetDiagField |
是的 | ISO 92 | 返回附加诊断信息(诊断数据结构的单个字段)。 |
SQLGetDiagRec |
是的 | ISO 92 | 返回附加诊断信息(诊断数据结构的多个字段)。 |
表 5.12 用于获取数据源系统表信息的 ODBC API 调用(目录函数)项目
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLColumnPrivileges |
是的 | ODBC | 返回一个或多个表的列列表和相关权限。 |
SQLColumns |
是的 | X/打开 | 返回指定表中的列名列表。 |
SQLForeignKeys |
是的 | ODBC | 返回构成外键的列名列表(如果它们存在于指定表中)。 |
SQLPrimaryKeys |
是的 | ODBC | 返回构成表主键的列名列表。 |
SQLSpecialColumns |
是的 | X/打开 | 返回有关唯一标识指定表中行的最佳列集的信息,或当事务更新行中的任何值时自动更新的列的信息。 |
SQLStatistics |
是的 | ISO 92 | 返回有关单个表的统计信息以及与该表关联的索引列表。 |
SQLTablePrivileges |
是的 | ODBC | 返回表列表和与每个表关联的权限。 |
SQLTables |
是的 | X/打开 | 返回存储在特定数据源中的表名列表。 |
表 5.14 用于终止语句的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLFreeStmt |
是的 | ISO 92 | 结束语句处理,丢弃挂起的结果,并且可以选择释放与语句句柄关联的所有资源。 |
SQLCloseCursor |
是的 | ISO 92 | 关闭已在语句句柄上打开的游标。 |
SQLCancel |
是的 | ISO 92 | 取消 SQL 语句。 |
表 5.15 用于终止连接的 ODBC API 调用
函数名称 | 连接器/ODBC 支持吗? | 标准 | 目的 |
---|---|---|---|
SQLDisconnect |
是的 | ISO 92 | 关闭连接。 |
SQLFreeHandle |
是的 | ISO 92 | 释放环境、连接、语句或描述符句柄。 |
SQLFreeConnect |
是的 | 弃用 | 释放连接句柄。 |
SQLFreeEnv |
是的 | 弃用 | 释放环境句柄。 |