반응형
Java 및 MariaDB 연결 드라이버 오류
JDBC와 Driver Manager로 Java와 Maria DB를 연결할 수 있습니다.그건 효과가 있다.데이터베이스의 테이블에 줄을 쓸 수 있습니다.하지만 "BASIC DATA SOURE"를 사용하면 MariaDB에 연결할 수 없습니다.저는 페도라에서 openJDK 15를 사용합니다.데이터베이스에 연결할 수 없는 이유를 이해할 수 없습니다.
이건 내 코드입니다.
public static void main(String... args){
Connection conn = null;
try {
long identifiant = 24L;
String nom = "Errani";
String prenom = "Sara";
//data for connection with DB
String userName = "kent1";
String password= "*****";
BasicDataSource dataSource = new BasicDataSource();
conn = dataSource.getConnection();
dataSource.setUrl("jdbc:mariadb://localhost:3306/TENNIS");
dataSource.setUsername(userName);
dataSource.setPassword(password);
//conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/TENNIS?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Europe/Paris","kent1","*****");
//conn.setAutoCommit(false);
PreparedStatement preparedStatement = conn.prepareStatement("UPDATE JOUEUR SET NOM=?, PRENOM=? WHERE ID=?");
preparedStatement.setString(1, nom);
preparedStatement.setString(2, prenom);
preparedStatement.setLong(3, identifiant);
int nombreEnregistrementModifies = preparedStatement.executeUpdate();
System.out.println("Le nombre d'enregistrement modifié est : "+nombreEnregistrementModifies);
System.out.println("success");
//conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
finally {
try {
if (conn!=null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
코드를 실행할 때의 오류입니다.
java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:75)
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:462)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:528)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:734)
at com.mycompany.tennis.core.TestDeConnection.main(TestDeConnection.java:28)
Caused by: java.sql.SQLException: No suitable driver
at java.sql/java.sql.DriverManager.getDriver(DriverManager.java:298)
at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:60)
... 4 more
이것은 Maven과 MariaDB 커넥터와 DBCP에 대한 나의 의존관계인 pom.xml입니다.
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies>
</project>
제게 해결책이 있습니다.사실은, 제가.conn = dataSource.getConnection();userName 및 userPassword... 다음에 표시됩니다.그래서 지금 내 코드는 그런 것 같습니다.
dataSource.setUrl("jdbc:mariadb://localhost:3306/TENNIS");
dataSource.setUsername(userName);
dataSource.setPassword(password);
//conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/TENNIS?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Europe/Paris","kent1","*****");
//conn.setAutoCommit(false);
conn = dataSource.getConnection();
PreparedStatement preparedStatement = conn.prepareStatement("UPDATE JOUEUR SET NOM=?, PRENOM=? WHERE ID=?");
효과가 있어요!
언급URL : https://stackoverflow.com/questions/66803774/java-and-mariadb-connection-drivers-errors
반응형
'programing' 카테고리의 다른 글
| size_t가 size입니까? (0) | 2023.09.11 |
|---|---|
| jHTML 요소의 스타일을 변경하는 jQuery (0) | 2023.09.11 |
| 하나의 단일 SQL SELECT 범위에 대해 DECIALISTIC과 유사한 PL/SQL 프래그마가 있습니까? (0) | 2023.09.11 |
| 값을 이미 반환하는 경우 함수에서 오류를 반환하는 가장 좋은 방법은 무엇입니까? (0) | 2023.09.11 |
| jquery를 통해 앵커 클릭을 시뮬레이션하려면 어떻게 해야 합니까? (0) | 2023.09.06 |