我在Netbeans中遇到了这个错误:
java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/
这是什么原因,我应该如何解决?我在Netbeans中遇到了这个错误:
java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/
这是什么原因,我应该如何解决?我刚刚遇到了这个问题,尝试了以上所有建议但仍然失败。不重复上面的建议,以下是可能会被忽略的事项: 如果你正在使用Maven,很可能你会声明依赖项,例如:
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.10.1.1</version>
您可能忘记启动Derby服务器。
一旦Derby服务器启动,它就会开始监听默认端口1527。
启动脚本位于以下位置:
Windows:
<DERBY_INSTALLATION_DIRECTORY>/bin/startNetworkServer.bat
Linux:
<DERBY_INSTALLATION_DIRECTORY>/bin/startNetworkServer
我尝试了这个帖子中提到的所有方法,只有 .registerDriver() 对我有效。这是我现在代码的一部分:
DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
connection = DriverManager.getConnection(url, user, pass);
也有可能在 persistence.xml 中使用EmbeddedDriver,而 jdbc url 却指向 Derby 服务器。这种情况下,请将 url 更改为指向数据库路径即可。
如果Java DB服务器尚未启动,您也可能会收到相同的错误。
遇到了同样的问题。我正在做类似于:
connect 'jdbc:derby://localhost:1527/~/databases/db1'
用绝对路径替换路径可以解决这个问题:
connect 'jdbc:derby://localhost:1527//Users/ayush99/databases/db1'
.
总之:避免在现有数据库的路径中使用~
或任何类似的变量。
当连接字符串的语法无效时,会出现此错误。
您可以使用以下连接字符串
'jdbc:derby:MyDbTest;create=true'
或者
您可以在命令提示符中使用以下命令,下面的命令成功创建了一个名为MyDbTest
的新数据库:
connect 'jdbc:derby:MyDbTest;create=true';