在 Eclipse 中为 Derby 10.9 更新 JDBC 驱动程序

Posted

技术标签:

【中文标题】在 Eclipse 中为 Derby 10.9 更新 JDBC 驱动程序【英文标题】:Updating JDBC driver in Eclipse for Derby 10.9 【发布时间】:2013-03-18 18:45:48 【问题描述】:

所以我现在遇到了一个问题......我需要你的帮助。我正在尝试在 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:位于 C:\Users\Samson\MyDB 的数据库的格式与当前版本的软件不兼容。该数据库由 10.9 版本创建或升级。

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

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

Edit2:没有什么比在 *** 的第一篇文章中成为白痴更重要的了。我必须更新 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 确实有效。我只是没有在正确的架构中寻找。我觉得自己像个白痴。

【问题讨论】:

我认为您可以将您的“Edit2”添加为您自己问题的单独答案,然后您可以接受它,从而在将来向其他人表明解决方案。 我刚回到我的工作笔记本电脑,它仍然无法工作。不幸的是,我仍然收到错误消息。 【参考方案1】:

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

【讨论】:

以上是关于在 Eclipse 中为 Derby 10.9 更新 JDBC 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse 中开发 Apache Derby 应用程序

Apache Derby Eclipse 插件去哪儿了?

基于 Eclipse 的 Apache Derby 工具

在独立 Java 应用程序中设置嵌入式 Derby 数据库

如何从 Derby 数据库中获取在最后 30 秒内插入的条目?

德比和日食。 “找不到主要”异常。如何将 Derby 添加到配置类路径?