GaussDB应用程序开发教程概述
GaussDB支持通过JDBC、ODBC、libpq、Psycopg、Go、ecpg等接口来连接数据库并进行操作。
JDBC
JDBC(Java Database Connectivity,Java数据库连接)是用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口。它允许Java应用程序通过SQL语句来执行数据库操作,包括查询、插入、更新和删除数据等。
以下是JDBC的一些关键特点和用法:
- 数据库连接管理:JDBC允许应用程序建立与数据库的连接,并管理这些连接的生命周期。
- SQL执行: 使用JDBC,可以执行SQL查询、更新、删除等操作。这通过在Java代码中构建SQL语句并将其发送到数据库来实现。
- 事务管理:JDBC支持事务管理,可以通过JDBC API来启动、提交或回滚事务,确保数据库操作的一致性和完整性。
- 异常处理: JDBC定义了一组异常类来处理数据库操作期间可能发生的各种异常情况,开发人员可以使用try-catch块来捕获和处理这些异常。
- 批处理操作:JDBC提供了批处理功能,允许一次性执行多个SQL语句,从而提高数据库操作的效率。
- 元数据访问: 通过JDBC,可以获取数据库的元数据信息,如表结构、列名、数据类型等,从而动态地构建SQL查询或根据数据库结构进行操作。
总的来说,JDBC提供了一个灵活且强大的桥梁,使Java应用程序能够与各种不同的数据库进行交互,从而实现数据的持久化和管理。GaussDB库提供了对JDBC 4.0特性的支持,需要使用JDK1.8版本编译程序代码,不支持JDBC桥接ODBC方式。
基于JDBC开发详细教程请参见基于JDBC开发。
ODBC
ODBC(Open Database Connectivity,开放数据库互连)是由Microsoft公司基于X/OPEN CLI提出的以C/C++语言来访问数据库的应用程序编程接口。它提供了一种统一的方法,让应用程序可以访问各种数据库管理系统(DBMS),而不用考虑具体的数据库类型或者操作系统平台。ODBC允许应用程序使用SQL来查询、插入、更新和删除数据库中的数据。应用程序通过ODBC提供的API与数据库进行交互,增强了应用程序的可移植性、扩展性和可维护性。
ODBC的架构包括三个主要组件:应用程序、ODBC驱动管理程序和ODBC驱动程序。应用程序使用ODBC API与ODBC驱动管理程序通信,而ODBC驱动管理程序负责加载和管理ODBC驱动程序。ODBC驱动程序则负责与特定的数据库通信,执行SQL查询并返回结果。ODBC的系统结构参见图1。
总而言之,ODBC提供了一种灵活且跨平台的方法,使得用户可以轻松地将应用程序连接到各种数据库,而无需担心特定数据库系统的细节。
基于ODBC开发详细教程请参见基于ODBC开发。
GaussDB目前在以下环境中提供对ODBC的支持。
操作系统 |
平台 |
---|---|
CentOS 6.4/6.5/6.6/6.7/6.8/6.9/7.0/7.1/7.2/7.3/7.4 |
x86_64位 |
CentOS 7.6 |
ARM64位 |
EulerOS 2.0 SP2/SP3 |
x86_64位 |
EulerOS 2.0 SP8 |
ARM64位 |
Kylin V10 |
x86_64位 |
Kylin V10 |
ARM64位 |
UNIX/Linux系统下的驱动程序管理器主要有unixODBC和iODBC,在这选择驱动管理器unixODBC-2.3.7作为连接数据库的组件。
Windows系统自带ODBC驱动程序管理器,在控制面板->管理工具中可以找到数据源(ODBC)选项。
当前数据库ODBC驱动基于开源版本,对于tinyint、smalldatetime、nvarchar、nvarchar2类型,在获取数据类型的时候,可能会出现不兼容的情况。
ODBC相关约束说明:
- ODBC不支持备机读。
- ODBC不支持自定义类型,不支持在存储过程中使用自定义类型参数。
- ODBC不支持容灾切换。
- 当数据库开启proc_outparam_override参数时,ODBC无法正常调用带有out参数的存储过程。
libpq
libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器进程发送查询并且获得查询返回值的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。
基于libpq开发详细教程请参见基于libpq开发。