- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Eclipse、SQLite 数据库和 Hibernate。我想在我的项目中使用SchemaCrawler,已经有sqlite-jdbc库。我的目的是使用 SchemaCrawler 比较两个数据库的结构。但我什至无法连接到我的第一个数据库。我正在使用这段代码:
public class SchemaConroller {
public SchemaConroller() {
SchemaCrawlerOptions options = new SchemaCrawlerOptions();
options.setSchemaInfoLevel(SchemaInfoLevelBuilder.standard());
try {
Connection conn = getConnection();
Catalog catalog = SchemaCrawlerUtility.getCatalog(conn, options);
for (Schema schema : catalog.getSchemas()) {
System.out.println(schema);
for (Table table : catalog.getTables(schema)) {
System.out.print("o--> " + table);
for (Column column : table.getColumns()) {
System.out.println(" o--> " + column);
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static Connection getConnection() throws SchemaCrawlerException, SQLException, ClassNotFoundException {
String dbPath = "src/home/accounting/DB/myDatabase.sqlite";
Class.forName("org.sqlite.JDBC");
Connection c = DriverManager.getConnection("jdbc:sqlite:" + dbPath);
return c;
}
}
我总是收到错误:
Oct 12, 2017 1:31:50 PM schemacrawler.utility.SchemaCrawlerUtility matchDatabaseSpecificOverrideOptions
INFO: Using database plugin for
Oct 12, 2017 1:31:50 PM schemacrawler.utility.TypeMap <init>
WARNING: Could not obtain data type map from connection
java.lang.NullPointerException
at org.sqlite.jdbc3.JDBC3Connection.getTypeMap(JDBC3Connection.java:90)
at schemacrawler.utility.TypeMap.<init>(TypeMap.java:116)
at schemacrawler.crawl.RetrieverConnection.<init>(RetrieverConnection.java:194)
at schemacrawler.crawl.SchemaCrawler.crawl(SchemaCrawler.java:870)
at schemacrawler.utility.SchemaCrawlerUtility.getCatalog(SchemaCrawlerUtility.java:75)
at home.accounting.controller.SchemaConroller.<init>(SchemaConroller.java:35)
at home.accounting.DA.DBCheck.start(DBCheck.java:44)
at home.accounting.MainApp.start(MainApp.java:83)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:748)
我从 here 下载了 schemacrawler.jar 。是否还需要其他 jar ?
最佳答案
Alyona,您可以忽略您在问题中发布的日志中的警告。 sqlite-jdbc jar 不完全符合 JDBC 标准,因此您必须非常注意该 jar 的版本。请使用版本 3.7.8,该版本仅适用于 SchemaCrawler distribution 。此外,您将需要 schemacrawler-sqlite jar与您正在使用的 SchemaCrawler 版本相对应。
Sualeh Fatehi,SchemaCrawler
关于java - SchemaCrawler 需要哪些 JAR 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46709777/
我使用 SchemaCrawler 来创建数据库图表。源是一个 Oracle 数据库,其中的表和列确实有一个 COMMENT 集。唉,来自 COMMENT 的文本确实出现在图表中,这使得图表变得巨大且
我目前正在使用 Schemacrawler收集有关各种数据库的信息。 我遇到的问题是运行应用程序的用户无法访问每个数据库。如果我尝试检索模式列表: SchemaCrawlerOptions schem
我正在命令行模式下测试 SchemaCrawler,但无法获取 json 输出中的存储过程参数名称。参数名称在 html 输出中可见,但不会出现在相同设置的 json 中。 命令:./sc.sh -i
我正在使用 Eclipse、SQLite 数据库和 Hibernate。我想在我的项目中使用SchemaCrawler,已经有sqlite-jdbc库。我的目的是使用 SchemaCrawler 比较
我已经安装了 Java 8,并且我的计算机上的 E: 上有 SchemaCrawler 文件夹。我运行 SQL Server 2012。 使用的cmd命令如下 sc.cmd -c graph -hos
我正在引用 http://sualeh.github.io/SchemaCrawler/how-to.html#api 中的文档但我永远得不到我想要的。返回的表始终为空。 final Connecti
使用 Java schemacrawler ,为什么它要扫描我数据库中的每个表?它不应该只是扫描我在命令行中指定的数据库:-database=openfire ??? :: schemacrawler
当我将其添加到 pom.xml 时: us.fatehi schemacrawler-mariadb 14.08.06 然
如何让SchemaCrawler在Windows下运行? GraphViz 已安装。现在我正在尝试使用命令行制作整个 PostgreSQL 数据库的图表: sc.cmd -command graph
我想使用 SchemaCrawler 及其 Maven 插件生成数据库模式图。我不想使用像这样的结构 java -classpath ../_schemacrawler/lib/*:lib/* ...
见底部的结论: 我正在尝试使用 schemacrawler 绘制 sqlite 数据库图。我的设置: 操作系统 10.8 从 Here 下载的 SchemaCrawler 10.5 从 Oracle
我是一名优秀的程序员,十分优秀!