Squirrel SQL& Windows上的H2插件:ClassNotFoundException:org.h2.Driver

时间:2014-09-11 16:08:16

标签: java h2 squirrel-sql

我正在尝试使用Squirrel SQL客户端连接到H2服务器实例。

我面临的问题是当我点击我要连接的服务器的“连接”按钮时,我得到了一个:

ClassNotFoundException: org.h2.Driver

我认为这是因为h2.jar不在类路径中。然后我编辑了squirrel-sql.bar来尝试两件事。

我尝试的第一件事就是将JAR添加到PATH中,如下所示:

SET PATH=%PATH%;C:\Program Files\squirrel-sql-3.5.3\plugins\h2.jar

然后我重新启动了Squirrel。同样的错误。

然后我尝试添加:

set TMP_CP=%TMP_CP%;"C:\Program Files\squirrel-sql-3.5.3\plugins\h2.jar"

然后我重新启动了Squirrel。同样的错误。

当我查看控制台时,我可以看到h2.jar位于PATH和/或SQUIRREL_CP中,但始终出现相同的错误。

我想知道我是不是忘记了如何安装/配置SQuirrel和/或H2?

3 个答案:

答案 0 :(得分:4)

每次使用不同的驱动程序时,只需通过GUI修改驱动程序类路径,而不是修改批处理文件。

双击驱动程序选项卡中的相应驱动程序,然后单击"额外类路径"选项卡并添加驱动程序jar。

您可以在"如何连接到数据库"下找到更多信息。在帮助文件的SQuirreL部分中。在SQuirreL中按F1查看帮助文件。您可以在http://www.squirrelsql.org/screenshots/driver.html

看到屏幕截图

答案 1 :(得分:2)

我发现了问题。我正在链接到Squirrel SQL中的h2文件。但是,我不得不从H2应用程序链接到h2文件...我为解决我的问题所做的是在addpath.bat文件中添加一行,使文件看起来像:

set TMP_CP=%TMP_CP%;%1
set TMP_CP=%TMP_CP%;"C:\Program Files (x86)\H2\bin\h2-1.4.181.jar"

然后我重新启动了Squirrel SQL,一切都按预期工作了!

答案 2 :(得分:0)

我列出了添加驱动程序的确切步骤,即使Colin Bell已经给出了一个很好的答案,却没有遵循最后的步骤4。我仍然无法解决这个问题。

  1. 下载http://www.h2database.com/automated/h2-latest.jar并将其保存在我的情况下,~/drivers/h2-latest.jar
  2. 编辑现有的h2驱动程序。
  3. 在“额外课程路径”标签上,添加驱动程序
  4. 单击“列出驱动程序”-org.h2.Driver将出现在“类名”字段(如Colin的答案http://www.squirrelsql.org/screenshots/driver.html的链接中所述)

我错过了单击“列表驱动程序”的最后一步,因为在尝试添加“类名”之前,它已经在“类名”中包含org.h2.Driver。但是如果没有这一步,它仍然会给出错误: Could not find class org.h2.Driver in neither the Java class path nor the Extra class path of the H2 driver definition: java.lang.ClassNotFoundException: org.h2.Driver