
# 获取驱动jar包并配置JDK环境
环境准备包括获取驱动jar包、配置JDK环境。
#### 获取驱动包
下载[表1]中的驱动包和驱动包校验包。
 表1驱动包下载列表 
| 版本        | 下载地址                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|
| V2.0-10.x | [驱动包](https://dbs-download.obs.cn-north-1.myhuaweicloud.com/DBS-GaussDB-driver/1782715650051/DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz) [驱动包校验包](https://dbs-download.obs.cn-north-1.myhuaweicloud.com/DBS-GaussDB-driver/1782715650051/DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz.sha256) |
   
为了防止软件包在传递过程或存储期间被恶意篡改，下载软件包时需下载对应的校验包对软件包进行校验，校验方法如下：
- Linux操作系统软件包完整性校验：
  1. 上传软件包和软件包校验包到虚拟机的同一目录下。
  
  2. 执行如下命令，校验软件包完整性。
     ```
     F=$(echo DBS-GaussDB-driver*.tar.gz);echo "$(awk '{print $1}' "$F.sha256")  $F" | sha256sum -c -
     ```
     如果回显OK，则校验通过。例如：
     ```
     DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz: OK
     ```
     
   

- Windows操作系统软件包完整性校验：
  1. 使用快捷键"Win+R"打开"运行"窗口。 在"打开"栏，输入"cmd"，按"Enter"回车，打开命令行页面。
  
  2. 执行以下命令，获取驱动包的Hash值。
     certutil -hashfile *{* *驱动包本地目录* *}* \\*{驱动包名}* sha256
     - {*驱动包本地目录*}：请根据实际下载目录进行替换。例如：C:\\Users
     
     - {*驱动包*名}：请根据实际下载的驱动包名进行替换。例如：DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz
     
     
     示例：certutil -hashfile *C:\\Users\\DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz sha256*
     
  
  3. 将[2]获取到的Hash值和[表1]中获取到的驱动包校验包的Hash值进行比较。
     - 若一致则通过校验。
     
     - 若不一致，请重新下载驱动包，重复[1]\~[3]进行校验。
      
   
 
#### 获取驱动jar包
以下介绍了获取驱动jar包的步骤：
1. 解压获取到的驱动包。该包包含多种不同的驱动jar包，可根据后续步骤确定所需驱动jar包的文件路径。驱动jar包的文件层级关系参考以下结构。 
   DBS-GaussDB-driver_\*/数据库部署形态/驱动类型/操作系统架构/发布包/驱动jar包
   
   
2. 选择数据库部署形态。 
   JDBC驱动包不区分部署形态，可选择Centralized/Distributed任意一种数据库部署形态对应的驱动jar包。
   
   
3. 选择驱动类型。 
   选择jdbc_driver.tar.gz，并解压。
   
   
4. 选择操作系统架构。 
   非透明多写特性下：
   1. 非密态功能不依赖系统架构，可选择任意一种操作系统架构。
   
   2. 密态功能需要严格选择对应系统架构的目录，可使用以下命令查看客户端系统架构。
      ```
      uname -a
      ```
      
    
   
   
5. 选择发布包。 
   使用以下命令查看当前环境的JDK版本，然后选择与当前环境JDK适配的发布包。
   ```
   java -version
   ```
   - JDK8发布包中包含适配JDK1.8的驱动jar包。
   
   - JDK17发布包中包含适配JDK17的驱动jar包。
   
   - JDK21发布包中包含适配JDK21的驱动jar包。
    
   
   
6. 用户根据自身业务需求选择对应的驱动包。 
   ![](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
   - 推荐用户在非密态场景下使用gaussdbjdbc.jar，在密态场景下使用gscejdbc.jar。opengaussjdbc-ce.jar、opengaussjdbc.jar、gsjdbc4.jar和gsjdbc200.jar后续将不再维护。
   
   - 非密态场景下，gaussdbjdbc.jar兼容opengaussjdbc.jar、gsjdbc4.jar和gsjdbc200.jar，用户使用gaussdbjdbc.jar替换opengaussjdbc.jar、gsjdbc4.jar或gsjdbc200.jar时， 无需修改jdbc相关业务代码。
   
   - 密态场景下，gscejdbc.jar兼容opengaussjdbc-ce.jar，用户使用gscejdbc.jar替换opengaussjdbc-ce.jar时， 无需修改jdbc相关业务代码。
    
   解压发布包可获取不同兼容性的驱动jar包，除了gscejdbc.jar、opengaussjdbc-ce.jar之外的所有驱动jar包功能一致，只有Driver主类名、连接串前缀及内部类路径有所区别，具体参见[表2]。
    表2驱动jar包介绍 
   | 驱动包                  | 连接串前缀           | Driver主类名                        | 适用场景                                                                                    |
   |:---|:---|:---|:---|
   | gaussdbjdbc.jar      | jdbc:gaussdb    | com.huawei.gaussdb.jdbc.Driver   | 本章的Java代码示例默认使用gaussdbjdbc.jar包。非密态数据库场景下，优先推荐使用此驱动包。                                   |
   | opengaussjdbc.jar    | jdbc:opengauss  | com.huawei.opengauss.jdbc.Driver | 遇到同一JVM进程内需要同时访问PG及GaussDB的场景，请使用此驱动包。                                                  |
   | gsjdbc4.jar          | jdbc:postgresql | org.postgresql.Driver            | 此驱动包适用于从PG数据库迁移业务的场景，驱动类和加载路径与迁移前保持一致，但接口支持情况不完全一致，未支持的接口需要业务侧进行调整。                     |
   | gsjdbc200.jar        | jdbc:gaussdb    | com.huawei.gauss200.jdbc.Driver  | 该驱动包适用于从Gauss200迁移业务的场景，驱动类和加载路径与迁移前保持一致，但接口支持情况不完全一致，未支持的接口需要业务侧进行调整。其余与gsjdbc4.jar相同。 |
   | gscejdbc.jar         | jdbc:gaussdb    | com.huawei.gaussdb.jdbc.Driver   | 此驱动包包含密态数据库需要加载的加解密相关的依赖库，因此密态数据库场景下推荐使用此驱动包。目前仅支持Euler和HCE操作系统。                        |
   | opengaussjdbc-ce.jar | jdbc:opengauss  | com.huawei.opengauss.jdbc.Driver | 该驱动包包含密态数据库需要加载的加解密相关的依赖库，url前缀为"jdbc:opengauss"的密态数据库场景下推荐使用此驱动包。目前仅支持Euler和HCE操作系统。   |
      
   ![](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
   - 不能使用GaussDB的驱动包操作PG数据库，虽然部分版本能成功连接，但部分接口行为与PG JDBC不兼容，可能导致未知错误。
   
   - 不能使用PG的驱动包操作GaussDB数据库，虽然部分版本能成功连接，但部分接口行为与GaussDB JDBC不兼容，可能导致未知错误。
   
   
   
   - 使用gscejdbc.jar驱动包时，需要先设置环境变量LD_LIBRARY_PATH，具体设置方式请参见[使用JDBC操作密态数据库](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/gaussdb-12-0377.html)。
    
   
   
7. 在运行环境中添加驱动jar包。 
   例如在非密态数据库场景下，用户使用IDE进行开发，则在本地IDE添加gaussdbjdbc.jar包（优先推荐）。
   
   
 
#### 配置JDK环境
客户端需配置JDK环境，JDK支持Windows、Linux等多种平台。本章节以配置JDK1.8和Windows11平台为例，给出具体步骤。
1. 在DOS窗口（Windows下的命令提示符）输入以下命令查看JDK版本。 
   ```
   java -version
   ```
   确认是否已安装JDK1.8；如未安装，请从[官方网站](https://www.oracle.com/java/technologies/downloads/#java8-linux)下载并安装。
   
   
2. 根据以下步骤配置系统环境变量。 
   1. 在"此电脑"单击右键，选择"属性"。
   
   2. 在"系统"页面，选择"系统信息"，单击"高级系统设置"。
   
   3. 在"系统属性"页面，"高级"页签上单击"环境变量"。
   
   4. 在"环境变量"页面，在"系统变量"区域单击"新建"或"编辑"配置系统变量。变量说明如[表3]所示。
       表3变量说明 
      | **变量名**   | **操作**                                                                                                                                                                                                                                                                           | **变量值**                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      |:---|:---|:---|
      | 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                                                                                                                                                                                                                                                                                                                                                                                                         |
         
      
   
   
   
   
 
