0

所以我现在遇到了一个问题......我需要你的帮助。我正在尝试在 Eclipse 中设置 Derby JDBC 驱动程序。我下载的 Derby 驱动程序是 10.9,但 Eclipse 中的驱动程序显示它是“系统版本 10.2”。

我去了 Window -> Preferences, Data Management, Connectivity, Driver Definition,然后创建了一个新的。我选择了最新版本的 Derby Embedded JDBC Driver,即 10.2。然后我将 derby.jar 文件包含在 JAR 列表中,然后单击确定。

然后,再次在 Eclipse 中,我转到“Data Source Explorer”,然后右键单击 Database Connections -> New... 我选择 Derby,然后选择我刚刚使用的驱动程序,添加一个用户/密码,然后单击 Finish。

它可以很好地创建数据库...但是当我使用以下代码时出现错误:

String host = "jdbc:derby:C:\\Users\\Samson\\MyDB;create=true";
String user = "admin";
String pass = "admin";
try {
    java.sql.Connection conn = DriverManager.getConnection(host, user, pass);
} catch (SQLException e) {
    e.printStackTrace();
}

错误是:

ERROR XSLAN: Database at C:\Users\Samson\MyDB 的格式与当前版本的软件不兼容。该数据库由版本 10.9 创建或升级。

因此,出于某种原因,它似乎正在尝试使用 10.2 驱动程序连接到这个 10.9 数据库,但我不知道我做错了什么。有任何想法吗?谢谢!!

编辑:好的,如果有帮助的话,上面的代码将放在 Java Servlet 中。我创建了一个名为“DBConnect”的新项目,并将 derby 的库放在其中,并创建了一个简单的程序来连接到 DB,它工作得很好。所以它与我的Servlet有关。

Edit2:没有什么比在 StackOverflow 上的第一篇文章中成为白痴更重要的了。我必须更新 Geronimo 中的 Derby 驱动程序,因为它只使用 10.2 而不是 10.9。

Edit3:在我的工作电脑上,它给了我同样的问题。出于某种原因,每当我创建一个常规 Java 项目时,它都可以正常工作,但是每当我尝试使用 Java Servlet 连接到该数据库时,我仍然会收到错误消息。如果有人有任何建议,我愿意接受。

Edit4:看起来 Geronimo 安装使用的是 10.8.2.2_1,但我仍然不知道如何实际更新它。打算现在尝试下载 10.8 驱动程序,稍后再处理。

Edit5:是的,由于某种原因,我似乎无法真正使用 Eclipse 中的数据源资源管理器。我安装了 10.8.2.2_1,我可以让我的 servlet 保存/从数据库中读取,但是当我尝试使用数据源资源管理器进行连接时,它甚至没有显示我创建的表。

Edit6:叹息......事实上,10.8 确实有效。我只是没有在正确的架构中寻找。我觉得自己像个白痴。

4

1 回答 1

0

我继续安装了 derby 10.8 而不是 10.9,现在它似乎工作得很好。Geronimo 设置为使用 10.8 而不是 10.9。

于 2013-03-22T14:27:54.230 回答