반응형
Driver Manager가 h2 데이터베이스에 연결할 때 mariadb 드라이버를 사용하려고 합니다.
몇 가지 테스트를 하고 있는데 다음과 같은 예외를 받았습니다.
java.lang.IllegalArgumentException: Invalid connection URL url dbc:h2:db/test
at org.mariadb.jdbc.JDBCUrl.parse(JDBCUrl.java:144)
at org.mariadb.jdbc.Driver.connect(Driver.java:95)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
내가 사용하는 코드:
Class.forName("org.h2.Driver"); //load h2 driver
String connectionUrl = "jdbc:h2:db/test";
Connection conn = DriverManager.getConnection(connectionUrl, "sa", "");
mariadb/mysql과 관련된 것도 테스트하기 때문에 h2 드라이버(이클립스 프로젝트) 외에 mariadb 드라이버도 클래스 경로에 있습니다.클래스 경로에서 mariadb 드라이버를 제거하면 연결이 됩니다.
내가 아는 한 클래스 경로에 여러 개의 jdbc 드라이버가 있을 수 있어야 합니다. 아니면 내가 뭔가 잘못 이해한 것이 있습니까?
(h2는 버전 1.3이며, mariadb-java-client는 1.2.0입니다.)
편집: mariadb-java-client 1.2.2를 사용하면 문제가 제거됩니다.
이게 mariadb-jdbc-driver의 버그였음을 확인할 수 있습니다.
https://mariadb.atlassian.net/plugins/servlet/mobile#issue/CONJ-167
mariadb-java-client 1.2.2로 업데이트한 후 문제가 나타나지 않았기 때문에 이것이 일종의 버그라고 추측합니다.
언급URL : https://stackoverflow.com/questions/32580352/drivermanager-tries-to-use-mariadb-driver-when-connecting-to-h2-database
반응형
'programing' 카테고리의 다른 글
| 새로운 Angular에서 ngSrc와 동등한 것은 무엇입니까? (0) | 2023.10.01 |
|---|---|
| 명령줄 응용 프로그램을 통해 Firefox에서 열려 있는 탭 목록을 얻으려면 어떻게 해야 합니까? (0) | 2023.09.26 |
| MIN 및 MAX 매크로에 대응하는 스위프트 (0) | 2023.09.26 |
| sql join 같은 테이블에 행 2개를 연결합니다. (0) | 2023.09.26 |
| Lodash 타이틀 케이스 (모든 단어의 대문자 첫 글자) (0) | 2023.09.26 |