我一直在使用Schemaspy(v5.0)在我的Mac(El Capitan)上通过Homebrew使用Graphviz来绘制mySQL(v5.7.11).最近对Graphviz(v2.40.1)的更新显然破坏了Schemaspy生成关系图的能力.
Writing/graphing summary.....org.schemaspy.util.Dot$DotFailure: 'dot -Tpng:gd
/Tools/docs/data/project/diagrams/summary/relationships.real.compact.dot
-o/Tools/docs/data/project/diagrams/summary/relationships.real.compact.png
-Tcmapx'
failed with return code 139
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我尝试过:
想弄清楚如何重新开始工作.
[编辑]我没有找到解决为什么SchemaSpy/Graphviz停止工作(或wtf"代码139"的意思),但我确实使用了一种解决方法.
docker run -it --rm -v /docs/data:/data mnuessler/schemaspy -hq
-t mysql -host localhost -u root -p root -db things -o /data/leads
其中-v是您在主机上打开的卷,-o/data/...是运行后输出显示的位置
我想使用Schema Spy生成架构图,
我已指定以下命令
java -jar schemaSpy_5.0.0.jar -t pgsql -host 10.100.71.21[:5432] -db mydb -s public -u username -p password -dp postgresql-8.0-312.jdbc3.jar -o output/
Run Code Online (Sandbox Code Playgroud)
我有postgresql驱动程序jar文件与schema spy jar文件在同一目录中.但它给出了以下错误
[schemaSpy_5.0.0.jar]/net/sourceforge/schemaspy/dbTypes/pgsql.properties
java.lang.ClassNotFoundException: org.postgresql.Driver
Failed to load driver 'org.postgresql.Driver'from: [file:/home/panx/postgresql-8.0- 312.jdbc3.jar]
This entry doesn't point to a valid file/directory: [/whereever/postgresql-8.0-312.jdbc3.jar]
Use the -dp option to specify the location of the database
drivers for your database (usually in a .jar or .zip/.Z).
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
谢谢,
潘卡
我尝试使用SchemaSpy连接到我的PostgresSQL服务器.我安装使用Java oracle-java8-installer
从ppa: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
Run Code Online (Sandbox Code Playgroud)
当我运行此命令时:
java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties
Run Code Online (Sandbox Code Playgroud)
我确信数据库可以在lcoalhost:5431上访问.但我收到:
user@hostname:~/path-to-app$ java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties ____ _ ____ / ___| ___| |__ ___ _ __ ___ __ …
我刚刚下载了schemaspy,它完全不同于一件事.我总是必须使用-dp选项指定mysql连接器的路径.
如果我没有指定它,我会收到此错误:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Failed to load driver 'com.mysql.jdbc.Driver'
This entry doesn't point to a valid file/directory: [/mysql/mysql-connector-java-5.1.6- bin.jar]
Run Code Online (Sandbox Code Playgroud)
路径(符号链接/usr/share/java/mysql-connector-java-5.1.28.jar
或您拥有的任何版本)是:
/usr/share/java/mysql-connector-java.jar
Run Code Online (Sandbox Code Playgroud)
它在$ CLASSPATH上.
此外,不要指望-p
提示输入密码.
我正在尝试使用SchemaSpy创建一个sqlite转储.我启动并运行了SchemaSpy,并能够正确转储MySQL数据库.
现在我有一个.sqlite文件(来自iOS应用程序)和一个来自Christian Werner的sqlite驱动程序(http://www.ch-werner.de/javasqlite/overview-summary.html).这里的一个例子解释了如何使用它,但说实话 - 我不明白该怎么做.
是否有人知道如何在Windows上使用SchemaSpy?但是,我没有必要使用GUI工具.
我需要以html格式获取mySQL数据库模式输出,因此我开始使用SchemaSpyGUI进行此操作.
现在,当我点击Start SchemaSpy时,它会生成以下错误:
无法查询Graphviz版本信息:dot -V java.io.IOException:无法运行程序"dot":CreateProcess error = 2,系统找不到指定的文件
使用数据库属性:[D:\ Saurin\mySQL\schemaSpy_5.0.0.jar] /net/sourceforge/schemaspy/dbTypes/mysql.properties
-
无法连接到数据库URL [jdbc:mysql://192.168.1.11/dbmsTest]
注意:我从以下网址下载了graphwiz:http://www.graphviz.org/Download..php
并在enviornment变量中设置点;
我已经安装了Oracle Instant Client 64位,当与SchemaSpy连接时,我收到以下错误消息.
请注意:这两个文件都存在于C:\ app\instantclient_12_1\ojdbc6.jar C:\ app\instantclient_12_1\ocijdbc12.dll
并且"C:\ app\instantclient_12_1 \"位于PATH中.
我也尝试了C:\ app\instantclient_12_1\ojdbc7.jar,结果相同.
Windows 7 64位.
非常感谢任何使这个工作正常的人的帮助.
错误信息:
Failed to load driver [oracle.jdbc.driver.OracleDriver] from classpath [file:/C:/app/instantclient_12_1/ojdbc6.jar]
Make sure the reported library (.dll/.lib/.so) from the following line can be
found by your PATH (or LIB*PATH) environment variable
java.lang.UnsatisfiedLinkError: C:\app\instantclient_12_1\ocijdbc12.dll: Specified process not found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:4115)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:4111)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:308)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:662)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:54) …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个可用于生成ER图的开源工具.目前,这是使用SchemaSpy完成的.在jenkins构建期间调用Maven脚本以生成这些数据模型图.我也尝试过使用SchemaCrawler的POC.但是,结果并不太令人满意.如果我可以获得可以与相同设置(maven和jenkins)一起使用的替代工具的指针,我将不胜感激.
我目前正在研究 Microsoft SQL Server 2016 的元数据解决方案。我对使用 Schemaspy 很感兴趣。我认为它看起来是一种记录元数据的绝佳免费方式,但我担心在拥有敏感数据的公司中使用它可能不安全。
问题: Schemaspy 使用安全吗?可以作为漏洞侵入服务器吗?
预先非常感谢您!