使用 java jdk 1.8.0_102 和 Derby 10.11.1.2 在windows下运行出现 java.sql.SQLException: No suitable driver found for jdbc:derby
其实,在早些时候在mac下使用的时候,也出现过类似的情况。
当时查了一些资料,加载了derby 下的全部 jar 也不行。
尝试用 ij 执行 connect 命令,发现也不能创建数据库。
那就不是 jar 的问题,也不是数据库驱动的问题。
原因是:创建数据库的目录是只读属性!
另外需要注意数据库连接的形式:
1、jdbc:derby:myDB;create=true
单实例形式,使用derby.jar驱动
DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());
Class.forName( "org.apache.derby.jdbc.EmbeddedDriver" ) ;
2、jdbc:derby://localhost:1527/myDB;create=true
客户服务器形式,到1527端口的连接,需要使用 derbyclient.jarClass.forName("org.apache.derby.jdbc.ClientDriver");
DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());