JdbcRowSet 无法识别 MariaDB 驱动程序
JdbcRowSet not recognizing MariaDB driver
一个Project的同一个包下,我有两个类。 类 是 JDBC 练习的一部分。我正在使用 MariaDB 10.1.14.
Class1
String jdbcUrl = "jdbc:mariadb://localhost:3306/test";
String uName = "root";
String pWord = "admin";
try{
Connection connection = DriverManager.getConnection(jdbcUrl, uName, pWord);
System.out.println(connection.isValid(100));
}catch(SQLException e){
e.printStackTrace();
}
输出true
Class2
String url = "jdbc://mariadb://localhost:3306/test";
String user = "root";
String pass = "admin";
try(JdbcRowSet rowSet = RowSetProvider.newFactory().createJdbcRowSet()){
String query = "SELECT * FROM employee";
rowSet.setCommand(query);
rowSet.setUrl(url);
rowSet.setUsername(user);
rowSet.setPassword(pass);
rowSet.execute();
while(rowSet.next()){
System.out.println(rowSet.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
输出
java.sql.SQLException: No suitable driver found for jdbc://mariadb://localhost:3306/test
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.sun.rowset.JdbcRowSetImpl.connect(JdbcRowSetImpl.java:643)
at com.sun.rowset.JdbcRowSetImpl.prepare(JdbcRowSetImpl.java:654)
at com.sun.rowset.JdbcRowSetImpl.execute(JdbcRowSetImpl.java:556)
at com.my.project.demotwo.jdbc.RowSet001.main(RowSet001.java:21)
pom.xml 对 MariaDB 有依赖关系。
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>1.1.7</version>
</dependency>
</dependencies>
我试着四处寻找这个问题。但是,大多数人似乎用 DriverManager
来报告它。
有人在使用 RowSet
时遇到过这个问题吗?
您在连接字符串中使用 jdbc://mariadb://
而不是 jdbc:mariadb://
。
一个Project的同一个包下,我有两个类。 类 是 JDBC 练习的一部分。我正在使用 MariaDB 10.1.14.
Class1
String jdbcUrl = "jdbc:mariadb://localhost:3306/test";
String uName = "root";
String pWord = "admin";
try{
Connection connection = DriverManager.getConnection(jdbcUrl, uName, pWord);
System.out.println(connection.isValid(100));
}catch(SQLException e){
e.printStackTrace();
}
输出true
Class2
String url = "jdbc://mariadb://localhost:3306/test";
String user = "root";
String pass = "admin";
try(JdbcRowSet rowSet = RowSetProvider.newFactory().createJdbcRowSet()){
String query = "SELECT * FROM employee";
rowSet.setCommand(query);
rowSet.setUrl(url);
rowSet.setUsername(user);
rowSet.setPassword(pass);
rowSet.execute();
while(rowSet.next()){
System.out.println(rowSet.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
输出
java.sql.SQLException: No suitable driver found for jdbc://mariadb://localhost:3306/test
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.sun.rowset.JdbcRowSetImpl.connect(JdbcRowSetImpl.java:643)
at com.sun.rowset.JdbcRowSetImpl.prepare(JdbcRowSetImpl.java:654)
at com.sun.rowset.JdbcRowSetImpl.execute(JdbcRowSetImpl.java:556)
at com.my.project.demotwo.jdbc.RowSet001.main(RowSet001.java:21)
pom.xml 对 MariaDB 有依赖关系。
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>1.1.7</version>
</dependency>
</dependencies>
我试着四处寻找这个问题。但是,大多数人似乎用 DriverManager
来报告它。
有人在使用 RowSet
时遇到过这个问题吗?
您在连接字符串中使用 jdbc://mariadb://
而不是 jdbc:mariadb://
。