修改数据库连接及驱动
应用程序适配加解密插件需要修改数据库连接的配置文件,主要是更改数据库驱动文件和URL。从配置文件、中间件、应用程序和数据源这几个方面来说明如何配置插件。
此处的配置以MySQL为例,URL的配置针对不同的数据库有不同的填写方式,具体请参见数据源JDBC配置文件。
下面以YAML、Properties、XML三种配置文件为例,说明集成插件时应该如何修改配置文件。
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
#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
<!-- 配置数据源 --> <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控制台,在菜单左侧单击“资源-JDBC-JDBC提供程序”。
- 在菜单右侧单击“新建”,即可创建JDBC驱动程序,如图1所示。
- 创建JDBC提供程序,数据库类型选择用户定义的,填写实现类名为com.pced.engine.spy.MaskingDriverPoolDataSource,如图2所示。
- 添加插件的类路径。这步需要先把插件包放到lib目录下,通常在“${产品安装路径}/AppServer/lib”下,如图3所示。
- 单击“完成”,即可创建完成JDBC提供程序,如图4所示。
- 单击“资源-JDBC-数据源”,在菜单右侧单击“新建”,创建数据源。注意节点名称和服务器名称要和创建JDBC提供程序时保持一致,如图5所示。
- 新建数据源,数据源名称和JNDI名称均为masking,单击“下一步”,如图6所示。
- 在选择JDBC提供程序页面,单击“选择现有的JDBC提供程序”,选择之前创建的JDBC提供程序,单击“下一步”,如图7所示。
- 单击“下一步”,如图8所示。
- 选择之前创建的账号密码,如果没有则为空,可以创建完数据源后编辑再配置,单击“下一步”,如图9所示。
- 单击“完成”,如图10所示。
- 在“数据源 > masking > JAAS - J2C > 认证数据”页面进行账号密码配置,单击“新建”,如图11所示。
- 填写用户名密码,单击“确定”,如图12所示。
- 给数据源配置URL信息,编辑数据源,单击“定制属性”,如图13所示。
- 在定制属性页面,单击“新建”,如图14所示。
- 在新建页面填写数据库URL信息,如图15所示。此处的URL针对不同的数据库有不同的填写方式,具体请参见数据源JDBC配置文件。
- 所有的信息保存后都要查看页面是否有如下显示信息,如果有单击保存,这个是最终保存结果,如图16所示。
- 进入WebLogic Server管理控制台,选择“服务 > 数据源”,在页面右侧单击数据源名称,进入数据源详情页面,如图17所示。
- 在数据源详情页面选择“配置 > 连接池”页签,将详情页中的URL和驱动程序类名称改为以下配置即可,如图18所示。
此处的配置以MySQL为例,URL的配置针对不同的数据库有不同的填写方式,具体请参见数据源JDBC配置文件。
Tomcat的数据源配置有两种,分别是局部数据源配置和全局数据源配置,两种配置方式如下:
- Tomcat配置的局部数据源文件路径是“${tomcat安装路径}/conf/context.xml”,按如下方式修改配置文件即可,如图19所示。
此处的配置以Oracle为例,URL的配置针对不同的数据库有不同的填写方式,具体请参见数据源JDBC配置文件。
- Tomcat配置的全局数据源文件路径是“${tomcat安装路径}/conf/server.xml”,按如图20所示方式修改配置文件即可。
插件方式还支持业界典型应用程序包括:帆软Report、Kettle ETL。
- 登录数据决策系统,选择“管理系统 > 数据连接 > 数据连接管理”。
- 在页面右侧单击“编辑”,如图21所示。
- 在数据源编辑界面,修改驱动信息和数据库URL。
注意驱动信息先选择默认,之后直接编辑文本即可,不用单击下拉框。
- 单击“测试连接”可以查看配置是否正确,如图22所示。
此处的URL针对不同的数据库有不同的填写方式,具体请参见数据源JDBC配置文件。
- 在Kettle的主对象树中选择“转换 > DB连接”,右键单击要编辑的数据源,左键单击“编辑”,如图23所示。
- 在弹出的数据源连接编辑页面中,选择连接类型为Generic database,选择连接方式为Native(JDBC),编辑自定义连接URL和自定义驱动类名称,如图24所示。
此处的URL针对不同的数据库有不同的填写方式,具体请参见数据源JDBC配置文件。
数据源JDBC配置文件
修改程序连接数据库的配置文件,jdbc更改配置文件:
driver-class-name: com.pced.engine.spy.MaskingDriver
Jdbc-url配置区别如下:
- MySQL
- 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
- PostgreSQL
jdbc-url:jdbc:masking:postgresql://*****:54321/wireless?currentSchema=myschema
其中myschema是数据库的schema。
- MariaDB
- Greenplum
jdbc-url: jdbc:masking:postgresql://*****:5432/database?currentSchema=myschema
其中myschema是数据库的schema。























