![](/img/trans.png)
[英]how to solve java.sql.SQLException: No suitable driver found for jdbc:derby:
[英]java.sql.SQLException: No suitable driver found for jdbc:derby:
我是jdbc的初学者...运行此代码时遇到问题:
该代码使用appache derby,为了使其正常工作,我首先启动了derby服务器。
java -jar "C:\Program Files\Sun\JavaDB\lib\derbyrun.jar" server start
然后启动程序
java -classpath derbyclient.jar -jar TestDB.jar
我将类路径设置为C:\\ Program Files \\ Sun \\ JavaDB \\ lib \\ derby.jar
而且我总是得到那个例外
java.sql.SQLException:找不到适用于jdbc:derby:// localhost:1527 / BOOKDB的合适驱动程序; java.sql.DriverManager.getConnection(DriverManager.java:602)处的create = true TestDB.getConnection(TestDB.java:63)上的DriverManager.java:185)TestDB.main(TestDB.java:11)上的TestDB.runTest(TestDB.java:20)
import java.sql.*;
import java.io.*;
import java.util.*;
class TestDB
{
public static void main(String args[])
{
try
{
runTest();
}
catch (SQLException ex)
{
for (Throwable t : ex)
t.printStackTrace();
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
public static void runTest() throws SQLException, IOException
{
Connection conn = getConnection();
try
{
Statement stat = conn.createStatement();
stat.executeUpdate("CREATE TABLE Greetings (Message CHAR(20))");
stat.executeUpdate("INSERT INTO Greetings VALUES ('Hello, World!')");
ResultSet result = stat.executeQuery("SELECT * FROM Greetings");
if (result.next())
System.out.println(result.getString(1));
result.close();
stat.executeUpdate("DROP TABLE Greetings");
}
finally
{
conn.close();
}
}
public static Connection getConnection() throws SQLException, IOException
{
Properties props = new Properties();
FileInputStream in = new FileInputStream("database.properties");
props.load(in);
in.close();
String drivers = props.getProperty("jdbc.drivers");
if (drivers != null) System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
return DriverManager.getConnection(url, username, password);
}
}
使用-jar
, -classpath
被忽略。 从java
命令工具docs :
使用此选项时,JAR文件是所有用户类的源,并忽略其他用户类路径设置。
使用不带-jar
-classpath
并显式指定包含main方法的类型,或者使jar文件清单引用derby jar文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.