在 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 应用程序