错误:无法加载 JDBC 驱动程序 - org.hsqldb.jdbcDriver



我编写了一个连接器类来连接到HSLDB。

这是我的代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.log4j.Logger;

public class hsqlmanager {
        private static final Logger log = Logger.getLogger(hsqlmanager.class);
        private static Connection con=null;
        private static void openConnection(){
            try {
                Class.forName("org.hsqldb.jdbcDriver" );
                log.info("Loaded JDBC Driver");
            } 
            catch (Exception e) {
                log.error("ERROR: failed to load JDBC driver - " + e.getMessage());
                return;
            }
            try {
                con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/sepm_db","sa","");      
            }
            catch(SQLException e){
                log.error(e.getMessage());
            }
        }
        public static void closeConnection() {
            try {
                con.close();
            }
            catch(SQLException e) {
                log.error(e.getMessage());
            }
        }
        public static Connection getConnection() {
            if (con==null){
                openConnection();
            }
            else {
                try {
                if(con.isClosed()){
                    con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/sepm_db","sa","");
                }
                }
                catch(SQLException e){
                    log.error(e.getMessage());
                    return null;
                }
            }
            return con;
        }
}

当我编译时,我收到错误:无法加载JDBC驱动程序 - org.hsqldb.jdbcDriver。为什么?

你需要下载 hsqldb 并在类路径中给出它。驱动程序位于 zip 文件中。

尝试在pom中遵循依赖项配置.xml(相应地更改版本号)

<dependency>
   <groupId>org.hsqldb</groupId>
   <artifactId>hsqldb</artifactId>
   <classifier>jdk8</classifier>
   <version>2.6.1</version>        
</dependency>

对我来说,添加分类器行解决了一个问题。请参阅以下 hsqldb 存储库中的建议。https://sourceforge.net/p/hsqldb/bugs/1644/

最新更新