【数据库】GaussDB的数据库驱动

  • Post author:
  • Post category:其他




前言

今天我们来看gaussDB 100的开发。

GaussDB 数据库驱动



一、驱动


什么是驱动?


数据库驱动



应用程序和数据库存储之间的一种接口

,数据库厂商为了某一种开发语言环境(比如Java,C)能够实现数据库调用而开发的类似翻译员功能的程序,将复杂的数据库操作与通信抽象成为了当前开发语言的访问接口。

GaussDB 100同时支持

JDBC



ODBC

等数据库驱动。

在这里插入图片描述



二、JDBC


JDBC定义:


JDBC(Java Database Connectivity,Java数据库连接),一种用于执行SQL语句的

Java API

,可

为多种关系数据库提供统一访问接口

,应用程序可基于它操作数据。

JDBC开发应用程序的流程如图

在这里插入图片描述

  1. JDBC安装配置

  • 配置JDBC包


    从support网站下下载驱动jar包。解压后配置在eclipse中

    jdbc包名:

    com.huawei.gauss.jdbc.ZenithDriver.jar


  • 加载驱动


    在创建数据库连接之前,需要加载数据库驱动类,加载群东的方法:

    在代码中隐含装载:

    Class.forName(“com.huawei.gauss.jdbc.ZenithDriver”)


  • 连接数据库


    远程接入数据库之前,需要在配置文件

    zengine.ini

    中设置LSNR_IP和LSNR_PORT侦听的IP地址和端口号

    在使用JDBC创建数据库连接,使用以下函数

DriverManager.getConnection(String url, String user, String password);

数据库连接参数

参数 描述
url 数据库连接描述符格式如下:jdbc:zenith:@ip:port[?key=value[&key=value]…]
user 数据库用户
password 数据库用户的密码

url说明:

ip为数据库服务器名称。port为数据库服务器端口。url连接属性通过&符号进行分割。每个属性是一个key=value对。

  1. JDBC接口

JDBC常用接口:

接口名称 功能简述
java.sql.Connection 数据库连接接口
java.sql.DatabaseMetaData 数据库对象定义接口
java.sql.Driver 数据库驱动接口
java.sql.PreparedStatement 预处理语句接口
java.sql.ResultSet 执行结果集接口
java.sql.ResultSetMetaData 对ResultSet对象相关信息的具体描述
java.sql.Statement SQL语句接口
java.sql.CallableStatement SQL语句接口,主要用于执行存储过程
java.sql.Blob Blob接口,主要用于绑定或获取数据库Blob字段
java.sql.Clob Clob接口,主要用于绑定或获取数据库Clob字段



三、ODBC


ODBC定义:


ODBC(Open Database Connectivity,开放数据库互连),是由Microsoft公司基于X/OPEN CLI提出的用于访问数据库的应用程序编程接口。

ODBC开发应用程序的流程图:

在这里插入图片描述

应用程序通过ODBC提供的API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。

  1. ODBC安装配置
  • 获取unixODBC源码包

    参考地址:http://www.unixodbc.org/,下载文件unixODBC-2.3.7.tar.gz或以上版本

  • 编译安装unixODBC

    在编译安装unixODBC过程中,unixODBC默认安装到“/usr/local”目录下,生成数据源文件到 “/usr/local/etc”目录下,库文件生成在“/usr/local/lib”目录。

tar -zxvf unixODBC-2.3.7.tar.gz
	cd unixODBC-2.3.7
	./configure --enable-gui=no
	make install
  • 配置ODBC驱动文件

    GaussDB 100 ODBC驱动包

    ” GAUSSDB100-VxxxRxxxCxx-CLIENT-ODBC-SUSE11SP3-64bit.tar.gz”

    解压到ODBC驱动目录”/usr/local/lib”下

tar -zxvf GAUSSDB100-VxxxRxxxCxx-CLIENT-ODBC-SUSE11SP3-64bit.tar.gz
  • 在“/usr/local/etc/odbcinst.ini”文件中追加以下内容。
	[GaussDB]          驱动器名称,对应数据源DSN中的驱动名 
	Driver64=/usr/local/odbc/lib/libzeodbc.so                 驱动动态库的路径
	setup=/usr/local/lib/libzeodbc.so                驱动安装路径,与Driver64中动态库的路径一致  
  • 在“/usr/local/etc/odbc.ini ”文件中追加以下内容。
	[zenith]            数据源名称
	Driver=DRIVER_N            驱动名,对应odbcinst.ini中的DriverName
	Servername=192.168.0.1   数据库服务器的IP地址
	Port=1888             数据库侦听端口
	
  • 配置环境变量
    export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH 
	export ODBCSYSINI=/usr/local/etc 
	export ODBCINI=/usr/local/etc/odbc.ini
  1. ODBC常用接口
接口名称 功能简述
SQLAllocHandle 申请环境、连接、语句句柄
SQLFreeHandle 用于释放ODBC的句柄
SQLSetEnvAttr 用于设置ODBC的环境句柄属性
SQLSetConnectAttr 用于设置ODBC的链接句柄属性
SQLSetStmtAttr 用于设置ODBC的执行句柄属性
SQLConnect 使用链接句柄链接数据源
SQLDisconnect 断开和数据源的链接
SQLPrepare 准备要执行的SQL语句
SQLBindParameter 往准备好SQL的执行句柄绑定参数
SQLBindCol 绑定结果集列存放缓冲区
SQLExecute 执行SQL语句
SQLFetch 获取下一行结果



四、其他驱动

GaussDB 100除了支持基于JDBC和ODBC驱动的开发,还支持基于

GSC(C-API),Python



GO驱动

的开发

  1. GSC(C-API):依赖的库为libzeclient.so,头文件为gsc.h。
  2. Go驱动:Go驱动以源码的形式发布,上层应用将代码import到应用项目中,和应用程序编译到一起使用。从文件层面看Go驱动分为三个部分:Go API、C驱动库和C头文件
  3. python驱动动态库:pyzenith.so。使用Python驱动连接数据库时,通过调用pyzenith.connect方法来获取Connection建立连接

在这里插入图片描述



版权声明:本文为weixin_45783164原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。