
# JDBC包、驱动类和环境类
#### 获取驱动包
下载[表1]中的驱动包和驱动包校验包。
 表1驱动包下载列表 
| 版本       | 下载地址                                                                                                                                                                                                                                                                                                                            |
|:---|:---|
| V2.0-2.x | [驱动包](https://dbs-download.obs.cn-north-1.myhuaweicloud.com/GaussDB/1684998497424/GaussDB_driver.zip) [驱动包校验包](https://dbs-download.obs.cn-north-1.myhuaweicloud.com/GaussDB/1684998497481/GaussDB_driver.zip.sha256) |
   
为了防止软件包在传递过程或存储期间被恶意篡改，下载软件包时需下载对应的校验包对软件包进行校验，校验方法如下：
- Linux操作系统软件包完整性校验：
  1. 上传软件包和软件包校验包到虚拟机的同一目录下。
  
  2. 执行如下命令，校验软件包完整性。 **cat** *GaussDB_driver.zip.sha256* **\| sha256sum --check**
     如果回显OK，则校验通过。
     ```
     GaussDB_driver.zip: OK
     ```
     
   

- Windows操作系统软件包完整性校验：
  1. 使用快捷键"Win+R"打开"运行"窗口。 在"打开"栏，输入"cmd"，按"Enter"回车，打开命令行页面。
  
  2. 执行以下命令，获取驱动包的Hash值。
     certutil -hashfile *{* *驱动包本地目录* *}* \\*{驱动包名}* sha256
     - {*驱动包本地目录*}：请根据实际下载目录进行替换。例如：C:\\Users
     
     - {*驱动包*名}：请根据实际下载的驱动包名进行替换。例如：GaussDB_driver.zip
     
     
     示例：certutil -hashfile C:\\Users\\GaussDB_driver.zip sha256
     
  
  3. 将[2]获取到的Hash值和[表1]中获取到的驱动包校验包的Hash值进行比较。
     - 若一致则通过校验。
     
     - 若不一致，请重新下载驱动包，重复[1]\~[3]进行校验。
      
   
 
#### 解压驱动包
解压获取到的驱动包，找到名为GaussDB-Kernel_数据库版本号_操作系统_64bit_Jdbc.tar.gz的JDBC驱动包并解压，解压后，可获得以下驱动jar包：
- gsjdbc4.jar：该驱动包适用于从PostgreSQL迁移业务的场景，驱动类和加载路径与迁移前保持一致，但接口支持情况不完全一致，未支持的接口需要业务侧进行调整。
- opengaussjdbc.jar：主类名为"com.huawei.opengauss.jdbc.Driver"，数据库连接的url前缀为"jdbc:opengauss"，推荐使用此驱动包。如果遇到同一JVM进程内需要同时访问PostgreSQL及GaussDB的场景，请使用此驱动包。
![](https://support.huaweicloud.com/distributed-devg-v2-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 各驱动包只是驱动类加载路径和url前缀不同，接口功能上相同。
- jdbc发布件jar包按照架构分类，gscejdbc.jar包必须与对应的部署环境一致才能使用，其他jar包无需与部署环境一致。
- gsjdbc200.jar：该驱动包适用于从Gauss200迁移业务的场景，驱动类和加载路径与迁移前保持一致，但接口支持情况不完全一致，未支持的接口需要业务侧进行调整。
- 不能使用gsjdbc4的驱动包操作PostgreSQL数据库，虽然部分版本能够建连成功，但部分接口行为与PostgreSQL JDBC不同，可能导致未知错误。
- 不能使用PostgreSQL的驱动包操作GaussDB数据库，虽然部分版本能够建连成功，但部分接口行为与GaussDB JDBC不同，可能导致未知错误。
 
#### 驱动类
在创建数据库连接之前，需要加载数据库驱动类"org.postgresql.Driver"（对应包gsjdbc4.jar）。
![](https://support.huaweicloud.com/distributed-devg-v2-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
1. 由于GaussDB在JDBC的使用上与PG的使用方法保持兼容，所以同时在同一进程内使用两个JDBC的驱动的时候，可能会类名冲突。
2. 本版本JDBC不再支持IAM认证功能。
3. 相比于PG驱动，GaussDB JDBC驱动主要做了以下特性的增强：
   1. 支持SHA256加密方式登录。
   
   2. 支持对接实现sf4j接口的第三方日志框架。
   
   3. 支持连接级别的分布式负载均衡。
   
   4. 支持容灾切换。
    
 
#### 环境类
客户端需配置JDK1.8。JDK是跨平台的，支持Windows、Linux等多种平台，下面以Windows为例，介绍JDK配置流程：
1. DOS窗口（windows下的命令提示符）输入"java -version"，查看JDK版本，确认为JDK1.8版本。如果未安装JDK，请下载安装包并安装。
2. 在windows操作系统桌面中"此电脑"图标上单击右键，选择"属性"。
3. 在弹出的"系统"窗口中，单击左侧导航栏中"高级系统设置"。
4. 在弹出的"系统属性"窗口中，单击右下角的"环境变量"。
5. 在弹出的"环境变量"窗口中的"系统变量"区域框中设置如下变量名和变量值。 
   
   |    变量名    |                                                                                                                                                                                                                  操作                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                             变量值                                                                                                                                                                                                                                                                                                                              |
   |---|---|---|
   | JAVA_HOME | - 若存在，则单击"编辑"。  - 若不存在，则单击"新建"。   | JAVA的安装目录。 例如：C:\\Program Files\\Java\\jdk1.8.0_131                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | Path      | 编辑                                                                                                                                                                                                                                                                                                                                                                                                                                   | - 若配置了JAVA_HOME，则在变量值的最前面加上： %JAVA_HOME%\\bin;  - 若未配置JAVA_HOME，则在变量值的最前面加上 JAVA安装的全路径： C:\\Program Files\\Java\\jdk1.8.0_131\\bin;    |
   | CLASSPATH | 新建                                                                                                                                                                                                                                                                                                                                                                                                                                   | .;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     
   
   
6. 单击"确定"，并依次关闭各窗口。
 
