SchemaSpy DB2 Connection Failure

Я попытался проанализировать базу данных DB2 с помощью SchemaSpy, но получил предупреждение "Ошибка подключения". Я попробовал так:

java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties --logging.pattern.console="%d{HH:mm:ss.SSS} %clr(%-5level) - %msg%n" --logging.level.org.schemaspy=TRACE

(found the logging part on https://github.com/schemaspy/schemaspy/issues/250)

The.properties file looks like this:

schemaspy.t=db2
schemaspy.dp=C:\tmp\db2jcc.jar
schemaspy.host=**host**
schemaspy.port=50000
schemaspy.db=**db**
schemaspy.u=**user**
schemaspy.p=**password**
schemaspy.o=D:\**\schemaspy-output\
schemaspy.s=**schema**

Я получил ошибку:

    14:24:20.297 DEBUG - Unable to find driverClass COM.ibm.db2.jdbc.app.DB2Driver'
    14:24:20.308 WARN  - Connection Failure
    org.schemaspy.model.ConnectionFailure: Failed to connect to database URL [jdbc:db2:zumtest] Failed to create any of 'COM.ibm.db2.jdbc.app.DB2Driver' driver from driverPath 'C:\tmp\db2jcc.jar' with sibling jars no.
    Resulting in classpath:
            file:/C:/tmp/db2jcc.jar

            at org.schemaspy.DbDriverLoader.getConnection(DbDriverLoader.java:101)
            at org.schemaspy.DbDriverLoader.getConnection(DbDriverLoader.java:75)
            at org.schemaspy.service.SqlService.connect(SqlService.java:68)
            at org.schemaspy.SchemaAnalyzer.analyze(SchemaAnalyzer.java:186)
            at org.schemaspy.SchemaAnalyzer.analyze(SchemaAnalyzer.java:107)
            at org.schemaspy.cli.SchemaSpyRunner.runAnalyzer(SchemaSpyRunner.java:97)
            at org.schemaspy.cli.SchemaSpyRunner.run(SchemaSpyRunner.java:86)
            at org.schemaspy.Main.main(Main.java:48)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
            at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
            at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
            at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
    Caused by: org.schemaspy.model.ConnectionFailure: Failed to create any of 'COM.ibm.db2.jdbc.app.DB2Driver' driver from driverPath 'C:\tmp\db2jcc.jar' with sibling jars no.
    Resulting in classpath:
            file:/C:/tmp/db2jcc.jar

            at org.schemaspy.DbDriverLoader.getDriver(DbDriverLoader.java:147)
            at org.schemaspy.DbDriverLoader.getConnection(DbDriverLoader.java:93)
            ... 15 common frames omitted

I guess, the error comes from the wrong class path? Но как я могу это исправить? I tried to change the line in db2.properties

driver=COM.ibm.db2.jdbc.app.DB2Driver

в

driver=COM.ibm.db2.jcc.DB2Driver

, because I extracted this class path from the driver's .jar flie, but it did not help.

0 ответов

Это сработало для меня, используя db2jcc.jar

# type of database. Run with -dbhelp for details
schemaspy.t=db2
# optional path to alternative jdbc drivers.
schemaspy.dp=/lib/db2jcc.jar
# database properties: host, port number, name user, password
schemaspy.host=xxxxxx
schemaspy.port=xxxxx
schemaspy.db=xxx
schemaspy.u=xx
schemaspy.p=xx
# output dir to save generated files
schemaspy.o=/output
# db scheme for which generate diagrams
schemaspy.s=xxxx
driver=com.ibm.db2.jcc.DB2Driver
connectionSpec=jdbc:db2://xxx.xx.x.xxx:[PORT]/[DBNAME]
schemaspy.cat=%

Используемая команда:

java -jar schemaspy-6.1.0.jar -configFile db2.properties  --logging.pattern.console="%d{HH:mm:ss.SSS} %clr(%-5level) - %msg%n" --logging.level.org.schemaspy=TRACE
Другие вопросы по тегам