# 修改数据库连接及驱动
应用程序适配加解密插件需要修改数据库连接的配置文件，主要是更改数据库驱动文件和URL。从配置文件、中间件、应用程序和数据源这几个方面来说明如何配置插件。
此处的配置以MySQL为例，URL的配置针对不同的数据库有不同的填写方式，具体请参见[数据源JDBC配置文件]。
下面以YAML、Properties、XML三种配置文件为例，说明集成插件时应该如何修改配置文件。
- [配置文件YAML]
  **YAML**
  ```
  database: 
  #driverclass: com.mysql.cj.jdbc.Driver 
  driverclass: com.pced.engine.spy.MaskingDriver 
  #url: jdbc:mysql://localhost:3306/mydatabase 
  url: jdbc:masking:mysql://localhost:3306/mydatabase 
  username: myuser 
  password: mypassword
  ```
  **修改前：**
  ```
  driverclass: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/mydatabase
  ```
  **修改后：**
  ```
  driverclass: com.pced.engine.spy.MaskingDriver
  url: jdbc:masking:mysql://localhost:3306/mydatabase
  ```
- [配置文件Properties]
  **Properties**
  ```
  #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 
  spring.datasource.driver-class-name=com.pced.engine.spy.MaskingDriver #spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase? 
  useSSL=false&serverTimezone=UTC 
  spring.datasource.url=jdbc:masking:mysql://localhost:3306/mydatabase? useSSL=false&serverTimezone=UTC 
  spring.datasource.username=myuser 
  spring.datasource.password=mypassword
  ```
  **修改前：**
  ```
  spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver url: spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase? 
  useSSL=false&serverTimezone=UTC
  ```
  **修改后：**
  ```
  spring.datasource.driver-class-name=com.pced.engine.spy.MaskingDriver
  spring.datasource.url=jdbc:masking:mysql://localhost:3306/mydatabase? useSSL=false&serverTimezone=UTC
  ```
- [配置文件XML]
  **XML**
  ```
  <!-- 配置数据源 --> 
  <bean id="dataSource" 
  class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
  <!-- <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> --> 
  <property name="driverClassName" value="com.pced.engine.spy.MaskingDriver"/> 
  <!-- <property name="url" value="jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC"/> --> 
  <property name="url" value="jdbc:masking:mysql://localhost:3306/mydatabase? useSSL=false&serverTimezone=UTC"/> 
  <property name="username" value="myuser"/> 
  <property name="password" value="mypassword"/> </bean>
  ```
  **修改前：**
  ```
  <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC"/>
  ```
  **修改后：**
  ```
  <property name="driverClassName" value="com.pced.engine.spy.MaskingDriver"/>
  <property name="url" value="jdbc:masking:mysql://localhost:3306/mydatabase? useSSL=false&serverTimezone=UTC"/>
  ```
下面以WebSphere、Tomcat、XML三种配置文件为例，说明集成插件时应该如何修改配置文件。
- [配置WebSphere]
  1. 进入WebSphere控制台，在菜单左侧单击"资源-JDBC-JDBC提供程序"，在菜单右侧单击"新建"，即可创建JDBC驱动程序，如[图1]所示。
     
     图1WebSphere-创建驱动信息   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728983604.png "点击放大")
     
     
  
  2. 创建JDBC提供程序，数据库类型选择用户定义的，填写实现类名为com.pced.engine.spy.MaskingDriverPoolDataSource，如[图2]所示。
     
     图2WebSphere-选择驱动类   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383377.png "点击放大")
     
     
  
  3. 添加插件的类路径。这步需要先把插件包放到lib目录下，通常在${产品安装路径}/AppServer/lib下，如[图3]所示。
     
     图3WebSphere-修改驱动路径   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823756.jpg "点击放大")
     
     
  
  4. 单击"完成"，即可创建完成JDBC提供程序，如[图4]所示。
     
     图4WebSphere-完成驱动创建   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728983606.jpg "点击放大")
     
     
  
  5. 单击"资源-JDBC-数据源"，在菜单右侧单击"新建"，创建数据源。注意节点名称和服务器名称要和创建JDBC提供程序时保持一致，如[图5]所示。
     
     图5WebSphere-选择数据源   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823758.png "点击放大")
     
     
  
  6. 新建数据源，数据源名称和JNDI名称均为masking，单击"下一步"，如[图6]所示。
     
     图6WebSphere-新建数据源   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758503271.jpg "点击放大")
     
     
  
  7. 在选择JDBC提供程序页面，单击"选择现有的JDBC提供程序"，选择之前创建的JDBC提供程序，单击"下一步"，如[图7]所示。
     
     图7WebSphere-选择驱动程序   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383381.png "点击放大")
     
     
  
  8. 单击"下一步"，如[图8]所示。
     
     图8WebSphere-输入控件类   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823760.jpg "点击放大")
     
     
  
  9. 选择之前创建的账号密码，如果没有则为空，可以创建完数据源后编辑再配置，单击"下一步"，如[图9]所示。
     
     图9WebSphere-输入别名   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728983610.png "点击放大")
     
     
  
  10. 单击"完成"，如[图10]所示。
      
      图10WebSphere-浏览配置信息   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383383.png "点击放大")
      
      
  
  11. 在"数据源 \> masking \> JAAS - J2C \> 认证数据"页面进行账号密码配置，单击"新建"，如[图11]所示。
      
      图11WebSphere-选择数据源   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823762.png "点击放大")
      
      
  
  12. 填写用户名密码，单击"确定"，如[图12]所示。
      
      图12WebSphere-添加认证信息   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758503275.jpg "点击放大")
      
      
  
  13. 给数据源配置URL信息，编辑数据源，单击"定制属性"，如[图13]所示。
      
      图13WebSphere-编辑数据源   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383385.png "点击放大")
      
      
  
  14. 在定制属性页面，单击"新建"，如[图14]所示。
      
      图14WebSphere-管理其他数据源   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823764.png "点击放大")
      
      
  
  15. 在新建页面填写数据库URL信息，如[图15]所示。此处的URL针对不同的数据库有不同的填写方式，具体请参见[数据源JDBC配置文件]。
      
      图15WebSphere-配置其他数据源   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758503277.png "点击放大")
      
      
  
  16. 所有的信息保存后都要查看页面是否有如下显示信息，如果有单击保存，这个是最终保存结果，如[图16]所示。
      
      图16WebSphere-浏览提示信息   
      ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728983614.png "点击放大")
      
      
   
- [配置WebLogic]
  1. 进入WebLogic Server管理控制台，单击"服务 \> 数据源"，在页面右侧单击数据源名称，进入数据源详情页面，如[图17]所示。
     
     图17WebLogic-浏览数据源   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383387.png "点击放大")
     
     
  
  2. 在数据源详情页面选择"配置 \> 连接池"页签，将详情页中的URL和驱动程序类名称改为以下配置即可，如[图18]所示。
     
     此处的配置以MySQL为例，URL的配置针对不同的数据库有不同的填写方式，具体请参见[数据源JDBC配置文件]。
     图18WebLogic-配置URL   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823766.png "点击放大")
     
     
   
- [配置Tomcat]
  Tomcat的数据源配置有两种，分别是局部数据源配置和全局数据源配置，两种配置方式如下：
  - Tomcat配置的局部数据源文件路径是${tomcat安装路径}/conf/context.xml，按如下方式修改配置文件即可，如[图19]所示。
    此处的配置以Oracle为例，URL的配置针对不同的数据库有不同的填写方式，具体请参见[数据源JDBC配置文件]。
    图19Tomcat-修改配置1   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758503279.png "点击放大") 
  
  - Tomcat配置的全局数据源文件路径是${tomcat安装路径}/conf/server.xml，按如下方式修改配置文件即可，如[图20]所示。
    图20Tomcat-修改配置2   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728983616.png "点击放大") 
   
插件方式还支持业界典型应用程序包括：帆软Report、Kettle ETL。
- [配置帆软Report]
  1. 登录数据决策系统，单击"管理系统 \> 数据连接 \> 数据连接管理"，在页面右侧单击"编辑"，如[图21]所示。
     
     图21FineReport-编辑数据连接   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383389.png "点击放大")
     
     
  
  2. 在数据源编辑界面，修改驱动信息和数据库URL。注意驱动信息先选择默认，之后直接编辑文本即可，不用单击下拉框。单击"测试连接"可以查看配置是否正确，如[图22]所示。
     
     此处的URL针对不同的数据库有不同的填写方式，具体请参见[数据源JDBC配置文件]。
     图22FineReport-编辑数据连接   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002728823768.png "点击放大")
     
     
   
- [配置Kettle ETL]
  1. 在Kettle的主对象树中选择"转换 \> DB连接"，右键单击要编辑的数据源，左键单击"编辑"，如[图23]所示。
     
     图23Kettle-选择数据源   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758503281.jpg "点击放大")
     
     
  
  2. 在弹出的数据源连接编辑页面中，选择连接类型为Generic database，选择连接方式为Native（JDBC），编辑自定义连接URL和自定义驱动类名称，如[图24]所示。
     
     此处的URL针对不同的数据库有不同的填写方式，具体请参见[数据源JDBC配置文件]。
     图24Kettle-选择数据源   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002758383391.jpg "点击放大")
     
     
   
 #### 数据源JDBC配置文件
修改程序连接数据库的配置文件，jdbc更改配置文件：
driver-class-name: com.pced.engine.spy.MaskingDriver
Jdbc-url配置区别如下：
- MySQL jdbc-url: jdbc:masking:mysql://\*\*\*\*\*:3306/\*\*\*\*
  
- MS SQLServer jdbc-url:jdbc:masking:sqlserver://\*\*\*\*\*:1433;DatabaseName=database;applicationName=schem ;
  
- 达梦 jdbc-url: jdbc:masking:dm://\*\*\*\*\*:5237?SCHEMA=myschema
  其中myschema是数据库的schema。
  
- OpenGauss jdbc-url: jdbc:masking:postgresql://\*\*\*\*\*:5432/database?currentSchema=myschema
  其中myschema是数据库的schema。
  
- DB2 jdbc-url: jdbc:masking:db2://\*\*\*\*\*:50000/test:currentSchema=RY
  其中RY是数据库的schema。
  
- KingBase jdbc-url: jdbc:masking:kingbase8://\*\*\*\*\*:54321/test?currentSchema= myschema
  其中myschema是数据库的schema。
  
- Oracle jdbc-url: jdbc:masking:oracle:thin:@\*\*\*\*\*:1521/TEST
  
- PostgreSQL jdbc-url: jdbc:masking:postgresql://\*\*\*\*\*:54321/wireless?currentSchema=myschema
  其中myschema是数据库的schema。
  
- MariaDB jdbc-url: jdbc:masking:mariadb://\*\*\*\*\*:3306/\*\*\*\*
  
- Greenplum jdbc-url: jdbc:masking:postgresql://\*\*\*\*\*:5432/database?currentSchema=myschema
  其中myschema是数据库的schema。
  
 
