9

我尝试使用 SchemaSpy 连接到我的 PostgresSQL 服务器。oracle-java8-installer我使用from安装了 Javappa:webupd8team/java.

(我的 PostgreSQL 服务器在 Docker 容器上工作,所以我将端口转发到 5431)

我的schemaspy.properties文件是:

# type of database. Run with -dbhelp for details
schemaspy.t=pgsql
# optional path to alternative jdbc drivers.
# database properties: host, port number, name user, password
schemaspy.host=localhost:5431
schemaspy.port=5431
schemaspy.db=dbname
schemaspy.u=dbuser
schemaspy.p=dbpassword
# output dir to save generated files
schemaspy.o=dbschema
# db scheme for which generate diagrams
schemaspy.s=public

当我运行这个命令时:

java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties

我确定在 lcoalhost:5431 上可以访问该数据库。但是我收到:

user@hostname:~/path-to-app$ java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties
  ____ _ ____
 /___| ___| |__ ___ _ __ ___ __ _/ ___| _ __ _ _
 \___ \ / __| '_ \ / _ \ '_ ` _ \ / _` \___ \| '_ \| | | |
  ___) | (__| | | | __/ | | | | | (_| |___) | |_) | |_| |
 |____/ \___|_| |_|\___|_| |_| |_|\__,_|____/| .__/ \__, |
                                             |_| |___/

                                              6.0.0

SchemaSpy 生成数据库模式关系的 HTML 表示。
SchemaSpy 绝对不提供任何保证。
SchemaSpy 是免费软件,可以在 LGPL 版本 3 或更高版本的条件下重新分发。
http://www.gnu.org/licenses/

信息 - 在 PID 18555 的主机名上启动 Main v6.0.0(/home/user/path-to-app/schemaspy-6.0.0.jar 由用户在 /home/user/path-to-app 中启动)
信息 - 以下配置文件处于活动状态:默认
信息 - 找到配置文件:schemaspy.properties
INFO - 在 3.406 秒内启动 Main(JVM 运行 4.519)
INFO - 开始模式分析
警告 - 连接失败

我应该添加驱动程序吗?我试过了postgresql-42.2.4.jar。我从jdbc.postgresql.org站点下载了它,并将这一行添加到配置文件中。

schemaspy.dp=postgresql-42.2.4.jar

但是它仍然显示相同的错误。

4

2 回答 2

11

Ok I finally know what was the problem. This line schemaspy.dp=postgresql-42.2.4.jar should be added directly after definition of type of database. Now my schemaspy.properties file is:

# type of database. Run with -dbhelp for details
schemaspy.t=pgsql
# optional path to alternative jdbc drivers.
schemaspy.dp=postgresql-42.2.4.jar
# database properties: host, port number, name user, password
schemaspy.host=localhost:5431
schemaspy.port=5431
schemaspy.db=dbname
schemaspy.u=dbuser
schemaspy.p=dbpassword
# output dir to save generated files
schemaspy.o=/home/user/dump
# db scheme for which generate diagrams
schemaspy.s=public

And works properly.

于 2018-08-07T13:30:16.563 回答
1

发生在我身上的是,由于连接问题,我的下载postgresql-42.2.4.jar产生了一个空文件,0字节。起初我没有注意到它,因为文件在那里,所以我认为它还可以。

所以只要确保你postgresql-42.2.4.jar的没问题。也许重新下载它。

于 2019-03-14T16:16:04.887 回答