![](/img/trans.png)
[英]MySQL - SQLException: No suitable driver found for jdbc:derby://
[英]No suitable driver found for jdbc:derby
我正在創建簡單的HelloWorld Web應用程序。 我想使用本地derby db。
我的pom:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.14.1.0</version>
<scope>test</scope>
</dependency>
和連接服務類MyDB,我只想從表中獲取文本並顯示:
public void connecToDerby() throws SQLException{
String dbUrl = "jdbc:derby:D:\\Projects\\JavaWebApplication\\FirstMavenProject; create=true";
conn = DriverManager.getConnection(dbUrl);
}
public void initDb() throws SQLException {
Statement statement = conn.createStatement();
statement.executeUpdate("Create table welcometext(id int primary key, text varchar(100))");
statement.executeUpdate("INSERT into welcometext values (1, 'Hello Java World')");
statement.close();
}
但我有例外:
java.sql.SQLException: No suitable driver found for jdbc:derby:D:\Projects\JavaWebApplication\FirstMavenProject; create=true
怎么解決呢? 使用本地德比是否正確? 我正在研究Intelij IDEA。
看來您沒有加載驅動程序類。 請根據需要使用以下之一
Class.forName("org.apache.derby.jdbc.ClientDriver");
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
在從DriverManager
獲得連接之前。
我的代碼在這里,有效。 也許您會丟失Class.forName(JDBC_DRIVER_NAME);
private static final String JDBC_DRIVER_NAME = "org.apache.derby.jdbc.EmbeddedDriver";
private static final String NACOS_HOME = "D:\\nacos";
private static final String DERBY_BASE_DIR = "data" + File.separator + "derby-data";
private static final String USER_NAME = "nacos";
private static final String PASSWORD = "nacos";
static Connection conn = null;
public static Connection getConnection() {
if (conn==null){
try {
Class.forName(JDBC_DRIVER_NAME);
String url = "jdbc:derby:" + NACOS_HOME + File.separator + DERBY_BASE_DIR + ";create=true";
conn = DriverManager.getConnection(url, USER_NAME, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.