如何解决使用SchemaSpy可视化SQLite数据库窗口
|| 我正在尝试使用SchemaSpy进行sqlite转储。 我启动并运行了SchemaSpy,并且能够正确地转储MysqL数据库。 现在,我有一个.sqlite文件(来自iOS应用程序)和Christian Werner的sqlite驱动程序(http://www.ch-werner.de/javasqlite/overview-summary.html)。这里的一个例子说明了如何使用它,但老实说-我不知道该怎么办。 是否有人知道如何在Windows上使用SchemaSpy?但是,对于我来说,没有必要使用GUI工具。解决方法
我也遇到了这个问题,但最终使其解决了。您需要用于SQLite库的DLL。
您可以在此处下载它,然后将其放在Windows安装的system32文件夹中(例如C:\\ Windows \\ System32)
最后,不要忘记指定确切的JDBC驱动程序路径:
java -jar… -dp \"D:\\SchemaSpy\\driver\\j2sdk1.4.2_03\\jre\\lib\\ext\\sqlite.jar\" …
,我确实想知道为什么您需要获得sqlite驱动程序。只需告诉SchemaSpy您的数据库类型为sqlite,您就可以了。就像是
java -jar schemaSpy.jar -t sqlite -db <您的文件> -o <输出>
,通常最好获取最新的SchemaSpy Beta版本。该调用应类似于针对MySQL运行,除了使用-t sqlite指定数据库类型并将\“ database \”指向您的.sqlite文件外。
SQLite驱动程序使用JNI来实现,因此您需要确保sqlite_jni.dll位于PATH中。要将其临时添加到Windows命令提示符下的PATH中,请执行以下操作:
设置PATH =%PATH%; directoryContainingTheJniDll
,我是您提到的其中一篇文章的作者。
您需要编译schemaspy JDBC驱动程序。它是为UNIX编写的,但是有人向作者发送了有关在Windows环境中构建它的说明。但是,对于Windows,您需要使用sqlite.jar和.dll预先构建一组文件。一旦将其放在类路径中,它就很简单。
如果这对您来说太多了,您始终可以启动sqlite3 CLI,并使用.schema
命令转储表,并将其设置在您知道如何连接的数据库中。或设置和Ubuntu VM;)
,我意识到这是一个古老的问题,但是根据记录,可以按照http上的说明为其滚动一个新的.properties文件,而无需花费很多麻烦就可以使SchemaSpy使用Xerial SQLite JDBC驱动程序。 //schemaspy.sourceforge.net/dbtypes.html
您真正需要做的就是复制现有的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的错,因为它们没有将它们包装在“ 5”中。还是架构设计师将关键字用作表名和列名的错误:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。