检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
应用程序开发教程 GaussDB应用程序开发教程概述 开发规范 获取驱动包 基于JDBC开发 基于ODBC开发 基于libpq开发 基于Psycopg开发 基于Go驱动开发 基于ecpg开发 兼容性参考 附录
发基于GaussDB的应用程序。 支持的应用程序接口 每个应用程序是一个独立的GaussDB开发项目。应用程序通过API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。表1为GaussDB所支持的应用程序接口及其下载地址。 表1
发基于GaussDB的应用程序。 支持的应用程序接口 每个应用程序是一个独立的GaussDB开发项目。应用程序通过API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。表1为GaussDB所支持的应用程序接口及其下载地址。 表1
应用程序开发教程 开发规范 获取驱动包 基于JDBC开发 基于ODBC开发 基于libpq开发 基于Psycopg开发 基于ecpg开发 基于Go驱动开发 兼容性参考 调试
典型应用程序开发示例 获取和处理数据库中的数据 批量绑定 高性能绑定类型 开启连接池 父主题: 基于ODBC开发
Windows系统自带ODBC驱动程序管理器,在控制面板->管理工具中可以找到数据源(ODBC)选项。 当前数据库ODBC驱动基于开源版本,对于tinyint、smalldatetime、nvarchar、nvarchar2类型,在获取数据类型的时候,可能会出现不兼容的情况。 在Suse12.5上,默认
Windows系统自带ODBC驱动程序管理器,在控制面板->管理工具中可以找到数据源(ODBC)选项。 当前数据库ODBC驱动基于开源版本,对于tinyint、smalldatetime、nvarchar、nvarchar2类型,在获取数据类型的时候,可能会出现不兼容的情况。 ODBC相关约束说明:
批量绑定 前提条件:数据源已配置成功。Linux系统请参考Linux下配置数据源;Windows系统请参考Windows下配置数据源。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
高性能绑定类型 需要进行大量数据插入时,有如下建议供用户参考和设置: 需要设置批量绑定:odbc.ini配置文件中设置UseBatchProtocol=1、数据库设置support_batch_bind=on。 ODBC程序绑定类型要和数据库中类型一致。 客户端字符集和数据库字符集一致。
1000000); return 0; } 不同环境下结果不一,在连接池打开的情况下,本示例运行结果如下: Connection count: 15000 Connection time: 14.175 s 在连接池关闭的情况下,本示例运行结果如下: Connection count:
Windows)编译器进行编译。编译命令如下: gcc odbctest.c -o odbctest -lodbc32 执行命令为: ./odbctest.exe 在Linux环境下ODBC应用代码可以使用GCC(GNU Compiler Collection)编译器进行编译。编译命令如下: gcc odbctest
设置为-1表示关闭这个功能。 只有系统管理员可以修改该参数。 log_connections/log_disconnections 配置是否在每次会话连接或结束时向服务器日志里打印一条信息。 on:每次会话连接或结束时向日志里打印一条信息。 off:每次会话连接或结束时不向日志里打印信息。
设置为-1表示关闭这个功能。 只有系统管理员可以修改该参数。 log_connections/log_disconnections 配置是否在每次会话连接或结束时向服务器日志里打印一条信息。 on:每次会话连接或结束时向日志里打印一条信息。 off:每次会话连接或结束时不向日志里打印信息。
如果用户在APP的开发过程中,使用了连接池机制,那么需要遵循如下规范: 如果在连接中设置了GUC参数,那么在将连接归还连接池之前,必须使用“SET SESSION AUTHORIZATION DEFAULT;RESET ALL;”将连接的状态清空。 如果使用了临时表,那么在将连接归还连接池之前,必须将临时表删除。
基于libpq开发 libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回值的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了示例显示如何利用libpq编写代码。
Kernel服务器使用普通的前端/后端协议通信。 嵌入式SQL程序是插入了数据库相关动作的特殊代码的C语言程序。这种特殊代码形式通常如下: EXEC SQL ...; 这些语句在语法上取代了一个C语句,可以出现在全局或者是一个函数中。嵌入式SQL语句遵循普通SQL代码的大小写敏感规则,也允许嵌套的C语言代码风格注释(
基于JDBC开发 JDBC(Java Database Connectivity,Java数据库连接)是用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。GaussDB库提供了对JDBC 4.2特性的支持,需要使用JDK1.8版
基于libpq开发 libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回值的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了示例显示如何利用libpq编写代码。
Kernel服务器使用普通的前端/后端协议通信。 嵌入式SQL程序是插入了数据库相关动作的特殊代码的C语言程序。这种特殊代码形式通常如下: EXEC SQL ...; 这些语句在语法上取代了一个C语句,可以出现在全局或者是一个函数中。嵌入式SQL语句遵循普通SQL代码的大小写敏感规则,也允许嵌套的C语言代码风格注释(
基于JDBC开发 JDBC(Java Database Connectivity,java数据库连接)是用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB库提供了对JDBC 4.2特性的支持,需要使用JDK1.8