使用SchemaSpy可视化SQLite数据库(windows)

时间:2011-04-15 14:11:23

标签: windows ios sqlite plot schemaspy

我正在尝试使用SchemaSpy创建一个sqlite转储。 我启动并运行了SchemaSpy,并且能够正确地转储MySQL数据库。

现在我有一个.sqlite文件(来自iOS应用程序)和一个来自Christian Werner(http://www.ch-werner.de/javasqlite/overview-summary.html)的sqlite驱动程序。一个关于here的例子解释了如何使用它,但说实话 - 我不明白该怎么做。

是否有人知道如何在Windows上使用SchemaSpy?但是,我没有必要使用GUI工具。

5 个答案:

答案 0 :(得分:2)

我也遇到了这个问题,但终于让它发挥了作用。您需要SQLite库的DLL。

您可以下载它here,然后您可以将它放在Windows安装的system32文件夹中(例如C:\ Windows \ System32)

最后,不要忘记指定确切的JDBC驱动程序路径:

java -jar… -dp "D:\SchemaSpy\driver\j2sdk1.4.2_03\jre\lib\ext\sqlite.jar" …

答案 1 :(得分:0)

我想知道你为什么需要获得sqlite驱动程序。只有tell SchemaSpy your DB type是sqlite,你一定会好的。像

这样的东西

java -jar schemaSpy.jar -t sqlite -db< your file> -o< output>

答案 2 :(得分:0)

通常最好抓住latest beta version of SchemaSpy。调用应类似于针对MySQL运行,除非您使用 -t sqlite 指定数据库类型并将“数据库”指向.sqlite文件。

SQLite驱动程序使用JNI进行实现,因此您需要确保sqlite_jni.dll在您的PATH中。要在Windows命令提示符中临时将其添加到PATH:

  

设置PATH =%PATH%; directoryContainingTheJniDll

答案 3 :(得分:0)

我是你提到的其中一篇文章的作者。

您需要编译schemaspy JDBC驱动程序。它是为UNIX编写的,但有人发送了作者notes on building it in a Windows environment。但是有一组files for windows prebuilt与你需要的sqlite.jar和.dll。一旦你在类路径上得到它就直截了当。

如果这对您来说太过分了,您可以随时启动sqlite3 CLI并使用.schema命令转储表,并将它们设置在您知道如何连接的数据库中。或者设置和Ubuntu VM;)

答案 4 :(得分:0)

我意识到这是一个老问题,但是为了记录,有可能使SchemaSpy使用Xerial SQLite JDBC驱动程序,没有太大的困难,可以按照{{上的说明为它滚动一个新的.properties文件。 3}}

您真正需要做的就是复制现有的sqlite.properties,将其重命名为sqlite-xerial.properties并更改相关的行;例如:

driver=org.sqlite.JDBC

description=SQLite-Xerial

driverPath=sqlite-jdbc-3.7.2.jar

Xerial驱动程序不需要JNI DLL文件,并且还具有正确获取任何已配置的FK关系的好处 - 至少使用我测试过的SQLite 3数据库。

在引用也是关键字的表名或列名时会引发一些警告,但这可能是SchemaSpy没有将它们包装在[]中的错误。或者模式设计者将关键字用作表名和列名的错误:)