首先根据工作需要,下载了aj-report的运行软件,本地直接运行没有使用网上的试运行软件,因为多人使用,速度太慢,所以自己搭建了个,然后根据自己需要设计了报表界面。之后可以再数据源模块引入自己使用的dm数据库。但是该软件底层依赖了mysql数据库,数据源却是dm数据库,所以自然而然想到,将底层数据库进行切换为dm。
准备工作如下:
1.使用迁移工具,将上面使用的aj_report和aj_report_init两个库迁移,迁移至dm数据库,新建了用户名TEST。
2.搭建编译环境。
Apache Maven 3.5.0
Java version: 1.8.0_121
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
NodeJS V.14.16.0 (注意小版本号一定一致,前期只保持了大版本号,导致各种报错,所有软件各种重新安装)
另外下载git软件,并下载https://gitee.com/anji-plus/report.git
3.重新编译。
将D:\git\report\report-core中的pom.xml添加dm依赖
<dependency>
<groupId>com.dm</groupId>
<artifactId>DmJdbcDriver</artifactId>
<version>1.7.0</version>
</dependency>
同时找到使用的依赖jar包,加载到maven库中。
mvn install:install-file -DgroupId=com.dm -DartifactId=DmJdbcDriver -Dversion=1.7.0 -Dpackaging=jar -Dfile=D:\app\Dm7JdbcDriver.jar
然后重新编译,获取最新的aj-report的jar包。
4.将新编译好的jar包,替换到所运行的aj-report软件中,修改aj-report-0.9.8.6\conf\bootstrap.yml,关闭flyway,同时修改数据库的连接。
5.运行发现报错,这是因为dm中一个用户关联多个模式,这时需要指定模式,或是将之前mysql中迁移过来的数据库迁移到所创建的用户名对应的模式下即可。
6.然后关闭mysql,重新运行,完美解决~~~~。