检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ODBC接口参考 ODBC接口是一套提供给用户的API函数,本节将对部分常用接口做具体描述,若涉及其他接口可参考msdn(网址:https://msdn.microsoft.com/en-us/library/windows/desktop/ms714177(v=vs.85).aspx)中ODBC
声明段 要实现嵌入式SQL-C程序和数据库间的数据交互(例如:从SQL-C程序把查询语句中的参数传递给数据库,或者从数据库向嵌入式SQL-C程序传回数据),需要在特殊的标记段里面声明包含此数据的C语言变量,以便预处理器能够识别。 标记段以下面的代码开始: EXEC SQL BEGIN
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
区间类型 表1列出了ecpg提供的区间类型(interval)数据的常用接口: 表1 区间类型常用接口 API接口 接口描述 说明 interval* PGTYPESinterval_new(void) 返回一个已分配的区间变量的指针。 该函数在堆上创建interval变量,返回值为interval*类型。
数值类型 表1列出了ecpg提供的数值类型(numeric\decimal)数据的常用接口: 表1 数值类型常用接口 API接口 接口描述 说明 numeric* PGTYPESnumeric_new(void) 请求一个指向新分配的numeric变量的指针。 该函数在堆上创建n
日期类型 表1列出了ecpg提供的日期类型(date)数据的常用接口: 表1 日期类型常用接口 API接口 接口描述 说明 date* PGTYPESdate_new(void) 返回一个已分配的date变量的指针。 该函数在堆上创建date变量,返回值为date*类型。 void
典型应用开发示例 本章的Java代码示例均使用opengaussjdbc.jar包。 不同场景下配置连接参数 创建和调用存储过程 获取函数返回值 批量查询 应用层SQL重试 通过本地文件导入导出数据 从MY迁移数据 逻辑复制 父主题: 基于JDBC开发
典型应用开发示例 典型应用场景配置 获取和处理数据库中的数据 批量绑定 高性能绑定类型 父主题: 基于ODBC开发
数据类型映射关系 数据类型、JAVA变量类型以及JDBC类型索引关系如下(A:Oracle兼容,B:MY兼容,M:M-Compatibility)。 表1 JDBC数据类型映射关系 兼容模式 Gauss Kernel数据类型 JAVA变量类型 JDBC类型索引 A/B oid java
日期类型 表1列出了ecpg提供的日期类型(date)数据的常用接口: 表1 日期类型常用接口 API接口 接口描述 说明 date* PGTYPESdate_new(void) 返回一个已分配的date变量的指针。 该函数在堆上创建date变量,返回值为date*类型。 void
查询结果集 返回单行结果的SELECT语句可以直接使用EXEC SQL执行,请参见执行SQL命令章节。 示例: /* 首先建立一个表并插入数据 */ EXEC SQL CREATE TABLE test_table (number1 integer, number2 integer);
声明段 要实现嵌入式SQL-C程序和数据库间的数据交互(例如:从SQL-C程序把查询语句中的参数传递给数据库,或者从数据库向嵌入式SQL-C程序传回数据),需要在特殊的标记段里面声明包含此数据的C语言变量,以便预处理器能够识别。 标记段以下面的代码开始: EXEC SQL BEGIN
类型映射 当ecpg应用程序在GaussDB Kernel服务器和C语言程序之间交换值时(例如:从服务器检索查询结果或者执行带有输入参数的SQL语句),在GaussDB Kernel数据类型和宿主语言变量类型(具体的C语言数据类型)之间需要进行值的转换。有两种数据类型可以使用:简单的GaussDB
包含文件 将外部文件包含到嵌入SQL程序中,可使用如下语句: EXEC SQL INCLUDE filename; EXEC SQL INCLUDE <filename>; EXEC SQL INCLUDE "filename"; ecpg预处理器按照如下顺序搜索文件: 当前目录
数值类型 表1列出了ecpg提供的数值类型(numeric\decimal)数据的常用接口: 表1 数值类型常用接口 API接口 接口描述 说明 numeric* PGTYPESnumeric_new(void) 请求一个指向新分配的numeric变量的指针。 该函数在堆上创建n
日期类型 表1列出了ecpg提供的日期类型(date)数据的常用接口: 表1 日期类型常用接口 API接口 接口描述 说明 date* PGTYPESdate_new(void) 返回一个已分配的date变量的指针。 该函数在堆上创建date变量,返回值为date*类型。 void
包含文件 将外部文件包含到嵌入SQL程序中,可使用如下语句: EXEC SQL INCLUDE filename; EXEC SQL INCLUDE <filename>; EXEC SQL INCLUDE "filename"; ecpg预处理器按照如下顺序搜索文件: 当前目录
数据类型映射关系 数据类型、JAVA变量类型以及JDBC类型索引关系如下: 兼容模式 GaussDB数据类型 JAVA变量类型 JDBC类型索引 ORA/MYSQL oid java.lang.Long java.sql.Types.BIGINT ORA/MYSQL numeric
典型应用开发示例 不同场景下配置连接参数 创建和调用存储过程 获取函数返回值 批量查询 使用流式读功能 应用层SQL重试 通过本地文件导入导出数据 从MY迁移数据 逻辑复制 监控数据库连接 父主题: 基于JDBC开发
典型应用开发示例 典型应用场景配置 获取和处理数据库中的数据 批量绑定 高性能绑定 父主题: 基于ODBC开发