OceanBase Connector/C 是一个基于 C/C++ 的 OceanBase 客户端开发组件,支持 C API Lib 库。
OceanBase Connector/C 允许 C/C++ 程序以一种较为底层的方式访问 OceanBase 分布式数据库集群,以进行数据库连接、数据访问、错误处理和 Prepared Statement 处理等操作。
OceanBase Connector/C 也称为 LibobClient,用于应用程序作为独立的服务器进程通过网络连接与数据库服务器 OBServer 进行通信。客户端程序在编译时会引用 C API 头文件,同时可以连接到 C API 库文件。
接口信息
支持的 C API 函数如下表所示:
有关以下函数的详细介绍,参见 OceanBase Connector/C 的 C API 函数文档。
| 函数名称 | 功能 |
|---|---|
| my_init | 初始化 OceanBase 所需的全局变量。 |
| mysql_affected_rows | 返回上一次由 UPDATE、DELETE 或 INSERT 语句进行更改、删除或插入的行数。 |
| mysql_autocommit | 用于设置自动提交模式。 |
| mysql_change_user | 更改指定连接的用户和数据库。 |
| mysql_character_set_name | 返回当前连接的默认字符集名称。 |
| mysql_client_find_plugin | 返回指向已加载插件的指针。 |
| mysql_client_register_plugin | 用于注册一个插件,将插件添加到所加载的插件列表中。 |
| mysql_close | 用于关闭先前打开的连接。 |
| mysql_commit | 用于提交当前事务。 |
| mysql_connect | 用于连接服务器。 |
| mysql_create_db | 用于创建由 db 参数命名的数据库。 |
| mysql_data_seek | 用于查找结果集中的任意行。 |
| mysql_debug | 使用指定的字符串执行 DBUG_PUSH。 |
| mysql_drop_db | 用于删除由 db 参数命名的数据库。 |
| mysql_dump_debug_info | 用于引发服务器将调试信息写入错误日志。 |
| mysql_eof | 用于确定是否已读取结果集的最后一行。 |
| mysql_errno | 返回最近调用的 API 函数执行成功或失败的错误代码。 |
| mysql_error | 返回一个以空字符结尾的字符串,其中包含最近调用失败的 API 函数的错误消息。 |
| mysql_escape_string | 用于转义字符串中的特殊字符,使其可以在 SQL 语句中使用。 |
| mysql_fetch_field | 返回下一个表字段的类型。 |
| mysql_fetch_field_direct | 返回指定字段编号的字段类型。 |
| mysql_fetch_fields | 用于以数组的形式返回结果集的所有 MYSQL_FIELD 结构。MYSQL_FIELD 结构为结果集的列提供字段定义。 |
| mysql_fetch_lengths | 返回结果集中当前行的列的长度。 |
| mysql_fetch_row | 用于检索结果集的下一行。 |
| mysql_field_count | 返回最近查询的列数。 |
| mysql_field_seek | 用于查找结果集行中的列。 |
| mysql_field_tell | 返回最后一次调用 mysql_fetch_field() 的字段游标的位置。 |
| mysql_free_result | 用于释放结果集内存。 |
| mysql_get_character_set_info | 用于提供有关默认客户端字符集的信息。 |
| mysql_get_client_info | 返回表示 OceanBase 客户端库版本的字符串。 |
| mysql_get_client_version | 返回一个表示 OceanBase 客户端库版本的整数。 |
| mysql_get_host_info | 返回描述当前连接类型的字符串,包括服务器主机名。 |
| mysql_get_proto_info | 返回当前连接使用的协议版本。 |
| mysql_get_server_info | 返回表示 OceanBase 服务器版本的字符串。 |
| mysql_get_server_version | 返回一个表示 OceanBase 服务器版本的整数。 |
| mysql_get_ssl_cipher | 返回指定服务器连接的加密密码名称。 |
| mysql_hex_string | 用于创建合法的 SQL 字符串。 |
| mysql_info | 返回最近执行语句的有关信息的字符串。 |
| mysql_init | 用于分配或初始化一个适用于 mysql_real_connect() 的 MYSQL 对象。 |
| mysql_insert_id | 返回前一个 INSERT 或 UPDATE 语句为 AUTO_INCREMENT 列生成的值。 |
| mysql_kill | 用于要求服务器终止 pid 指定的线程。 |
| mysql_library_end | 用于结束使用 C API 库。 |
| mysql_library_init | 用于初始化 C API 库。 |
| mysql_list_dbs | 返回由 wild 参数指定的,与简单正则表达式相匹配的数据库名称组成的结果集。 |
| mysql_list_fields | 返回由 wild 参数指定的,与简单正则表达式相匹配的字段名称。 |
| mysql_list_processes | 返回描述当前服务器线程的结果集。 |
| mysql_list_tables | 返回由 wild 参数指定的,与简单正则表达式相匹配的表名组成的结果集。 添加H3+ |
| mysql_load_plugin | 用于加载由名称和类型指定的 OceanBase 客户端插件。 |
| mysql_load_plugin_v | 用于加载 OceanBase 客户端插件。 |
| mysql_more_results | 用于检查是否存在更多的结果。 |
| mysql_next_result | 用于执行由多个语句组成的单个语句字符串,或者用于在存储过程中使用 CALL 语句返回多个结果集的场景。 |
| mysql_num_fields | 用于返回结果集中的列数。 |
| mysql_num_rows | 用于返回结果集中的行数。 |
| mysql_options | 用于设置额外的连接选项并影响连接的行为。 |
| mysql_options4 | 用于设置额外的连接选项并影响连接的行为。 |
| mysql_ping | 用于检查与服务器的连接是否正常。 |
| mysql_plugin_options | 用于将选项类型和值传递给插件。 |
| mysql_query | 用于执行由空终止字符串 stmt_str 指向的 SQL 语句。 |
| mysql_real_connect | 用于与主机上运行的 OBServer 节点建立连接。 |
| mysql_real_escape_string | 对语句的字符串中的特殊字符进行编码,创建 SQL 语句的合法字符串。 |
| mysql_real_query | 用于执行由 stmt_str 指向的 SQL 语句。 |
| mysql_refresh | 用于刷新或重置表和缓存。 |
| mysql_reload | 用于要求服务器重新加载授权表。 |
| mysql_rollback | 用于回滚当前事务。 |
| mysql_row_seek | 用于在查询结果集中查找任意行。 |
| mysql_row_tell | 返回结果集行游标的当前位置。 |
| mysql_select_db | 用于使 db 指定的数据库成为 mysql 指定连接上的默认(当前)数据库。 |
| mysql_server_end | 用于结束使用 C API 库。 |
| mysql_server_init | 用于初始化 OceanBase 客户端库。 |
| mysql_set_character_set | 用于设置当前连接的默认字符集。 |
| mysql_set_local_infile_default | 将 LOAD DATA LOCAL 回调函数设置为 C 客户端库内部使用的默认值。 |
| mysql_set_local_infile_handler | 用于安装指定应用程序的 LOAD DATA LOCAL 句柄回调。 |
| mysql_set_server_option | 用于启用或禁用连接选项。 |
| mysql_shutdown | 用于关闭数据库服务器。 |
| mysql_sqlstate | 返回一个以空字符结尾的字符串,其中包含最近执行的 SQL 语句的 SQLSTATE 错误代码。 |
| mysql_ssl_set | 用于使用 SSL 建立加密连接。 |
| mysql_stat | 返回包含服务器信息的字符串(类似于 mysqladmin status 命令),包括以秒为单位的正常运行时间以及正在运行的线程、问题、重载和打开表的数量。 |
| mysql_stmt_affected_rows | 返回使用上次准备的 UPDATE、DELETE 或 INSERT 语句进行更改、删除或插入的行数。 |
| mysql_stmt_attr_get | 用于获取语句的属性值。 |
| mysql_stmt_attr_set | 用于设置 Prepared Statement 属性值。 |
| mysql_stmt_bind_param | 将应用程序数据缓冲器与 Prepared Statement 中的参数标记相关联。 |
| mysql_stmt_bind_result | 用于将结果集中的输出列关联(即绑定)到数据缓冲区和长度缓冲区。 |
| mysql_stmt_close | 用于关闭 Prepared Statement。 |
| mysql_stmt_data_seek | 用于查找语句结果集中的任意行。 |
| mysql_stmt_errno | 返回最近调用语句的 API 函数的错误代码。 |
| mysql_stmt_error | 返回最近调用语句的 API 函数的错误信息。 |
| mysql_stmt_execute | 执行与语句句柄关联的预处理查询。 |
| mysql_stmt_fetch | 获取结果集的下一行并返回所有绑定列的数据。 |
| mysql_stmt_fetch_column | 用于获取当前结果集行的一列。 |
| mysql_stmt_field_count | 返回最新 Prepared Statement 的列数。 |
| mysql_stmt_free_result | 用于释放执行 Prepared Statement 产生的结果集相关的内存。 |
| mysql_stmt_init | 用于创建并返回一个 MYSQL_STMT 句柄。 |
| mysql_stmt_insert_id | 返回由预处理的 INSERT 或 UPDATE 语句为 AUTO_INCREMENT 列生成的值。 |
| mysql_stmt_next_result | 在多结果 Prepared Statement 执行中返回或启动下一个结果。 |
| mysql_stmt_num_rows | 返回结果集中的行数。 |
| mysql_stmt_param_count | 返回 Prepared Statement 中存在的参数数量。 |
| mysql_stmt_param_metadata | 将参数元数据作为结果集返回。 |
| mysql_stmt_prepare | 预处理由字符串 stmt_str 指向的 SQL 语句并返回一个状态值。 |
| mysql_stmt_reset | 用于重置服务器上的语句、使用 mysql_stmt_send_long_data() 发送的数据、未缓冲的结果集和当前错误。 |
| mysql_stmt_result_metadata | 用于获取 Prepared Statement 的结果集元数据。 |
| mysql_stmt_row_seek | 用于在 Prepared Statement 结果集中寻找任意行。 |
| mysql_stmt_row_tell | 返回 Prepared Statement 结果集行游标的当前位置。 |
| mysql_stmt_send_long_data | 使应用程序能够将参数数据分段(或"块")发送到服务器。 |
| mysql_stmt_sqlstate | 最近调用的 Prepared Statement API 函数的 SQLSTATE 值。 |
| mysql_stmt_store_result | 用于检索并存储整个结果集。 |
| mysql_store_result | 检索并存储整个结果集。 |
| mysql_thread_end | 用于结束使用线程句柄。 |
| mysql_thread_id | 返回当前连接的线程 ID。 |
| mysql_thread_init | 用于初始化线程句柄。 |
| mysql_thread_safe | 用于指示客户端库的编译是否为线程安全的。 |
| mysql_use_result | 用于逐行检索结果集。 |
| mysql_warning_count | 返回在执行前一个 SQL 语句期间生成的错误、告警和注释的数量。 |
C API 对象列表
| 对象 | 说明 |
|---|---|
| MYSQL | 处理对象 |
| MYSQL_RES | 结果对象 |
| MYSQL_ROW | 结果行对象 |
| MYSQL_FIELD | 结果列信息对象 |
| MYSQL_FIELD_OFFSET | 结果列的偏移对象 |
| my_ulonglong | 基础类型 |
| my_bool | 基础类型 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




