如何使 HSQL 驱动程序正常工作?

2024-04-11

我目前正在学习 Java 中的一些数据库技巧,我发现我正在读的这本好书。 在某些时候,它鼓励我尝试与以下类进行手动数据库连接:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DemoSelect {

    public static void main(final String[] arguments) {

        // Connection parameters
        String usr = "sa";
        String pwd = "";
        String driver = "org.hsqldb.jdbcDriver";
        String url = "jdbc:hsqldb:hsql://localhost/xdb";

        Connection con = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;

        try {
            // Starting up the driver
            Class.forName(driver);

            // Connecting
            con = DriverManager.getConnection(url, usr, pwd);

            // Writing a query
            String sql = "SELECT empno, ename, hiredate, deptno FROM emp";

            // Setting up the SQL statement
            pstm = con.prepareStatement(sql);

            // Execute the SQL query
            rs = pstm.executeQuery();

            // Iterating the results
            while (rs.next()) {

                // Simple method to show the data
                System.out.print(rs.getInt("empno") + ", ");
                System.out.print(rs.getString("ename") +  ", ");
                System.out.print(rs.getDate("hiredate") + ", ");
                System.out.println(rs.getInt("deptno"));
            }
        } catch(final Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);

        } finally {
            try {

                // Closing all the opened resources
                if (rs != null) rs.close();
                if (pstm != null) pstm.close();
                if (con != null) con.close();
            } catch(final Exception e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
        }
    }
}

但是当我尝试运行它时,它会生成一个错误,其描述如下:

java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at cap3.jdbc.DemoSelect.main(DemoSelect.java:25)
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException:      org.hsqldb.jdbcDriver
        at cap3.jdbc.DemoSelect.main(DemoSelect.java:53)
    Caused by: java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at cap3.jdbc.DemoSelect.main(DemoSelect.java:25)
 Java Result: 1
 BUILD SUCCESSFUL(total time: 0 seconds)`

我可能会错过什么?

我正在使用 NetBeans 并且下载了 HSQL 驱动程序。我设法将 .jar 文件导入到库中,但收到以下错误代码:

java.sql.SQLTransientConnectionException: java.net.ConnectException: Connection refused: connect
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at cap3.jdbc.DemoSelect.main(DemoSelect.java:28)
Caused by: org.hsqldb.HsqlException: java.net.ConnectException: Connection refused: connect
at org.hsqldb.ClientConnection.openConnection(Unknown Source)
at org.hsqldb.ClientConnection.initConnection(Unknown Source)
at org.hsqldb.ClientConnection.<init>(Unknown Source)
... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at org.hsqldb.server.HsqlSocketFactory.createSocket(Unknown Source)
... 9 more
Exception in thread "main" java.lang.RuntimeException: java.sql.SQLTransientConnectionException: java.net.ConnectException: Connection refused: connect
at cap3.jdbc.DemoSelect.main(DemoSelect.java:53)
Caused by: java.sql.SQLTransientConnectionException: java.net.ConnectException: Connection refused: connect
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at cap3.jdbc.DemoSelect.main(DemoSelect.java:28)
Caused by: org.hsqldb.HsqlException: java.net.ConnectException: Connection refused: connect
at org.hsqldb.ClientConnection.openConnection(Unknown Source)
at org.hsqldb.ClientConnection.initConnection(Unknown Source)
at org.hsqldb.ClientConnection.<init>(Unknown Source)
... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at org.hsqldb.server.HsqlSocketFactory.createSocket(Unknown Source)
... 9 more
Java Result: 1
BUILD SUCCESSFUL(total time: 1 second)

HSQL 驱动程序不在您的类路径中。您必须以某种方式包含该驱动程序 jar 文件it http://download.oracle.com/javase/tutorial/essential/environment/paths.html通过运行你的程序java -cp .;hsqldb.jar DemoSelect. Use ':' 作为分隔符而不是 ';',如果你在 *nix 上。

另请参阅文档 http://hsqldb.org/doc/2.0/guide/running-chapt.html#running_jar-sect.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 HSQL 驱动程序正常工作? 的相关文章

  • 使用 Tabula 通过 Python 读取 pdf 时出现 Java 错误

    我已经安装了 tabula 库 用于使用 python 将 pdf 读取到 pandas 数据框中 但是当我运行代码时 import tabula df tabula read pdf sample1 pdf pages 1 我得到了例外
  • 有没有创建 Cron 表达式的 Java 代码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个 Java 代码来根据用户输入创建一个 cron 表达式 用户输入是时间 频率和执行次数 只需从评论中添加 自己创建 即可
  • Java Logger 未记录到 Netbeans 中的输出

    我正在 Netbeans 中使用 Maven 启动一个 Java 项目 我编写了一些代码来使用 Logger 类进行日志记录 但是 日志记录似乎不起作用 在程序开始时 我运行 Logger getLogger ProjectMainClas
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • Android studio - 如何保存先前活动中选择的数据

    这是我的代码片段 这Textview充当按钮并具有Onclicklistner在他们 当cpu1000时Textview单击它会导致cpu g1000其代码如下所示的类 public class Game 1000 extends AppC
  • 提供节点名或服务名,或未知 Java

    最近我尝试运行我的 Java 项目 每当我运行它并将其打开到我得到的服务器地址时 Unable to determine host name java net UnknownHostException Caused by java net
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 如何区分从 Saxon XPathSelector 返回的属性节点和元素节点

    给定 XML
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 部署 .war 时出现 Glassfish 服务器错误:部署期间发生错误:准备应用程序时出现异常:资源无效

    我正在使用以下内容 NetBeans IDE 7 3 内部版本 201306052037 爪哇 1 7 0 17 Java HotSpot TM 64 位服务器虚拟机 23 7 b01 NetBeans 集成 GlassFish Serve
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于

随机推荐

  • 在 SceneKit 游戏中为 SCNNode 制作 SCNConstraint (LookAt) 动画以使过渡逐渐进行

    一般来说 当你想让游戏中的角色面对镜头时 可以使用 SCNLookAtConstraint 这实际上也对我很有帮助 Below 我的对象是我试图根据约束定向的节点 Enemy 指的是场景中的某个节点 pointOfView 是场景的视角 当
  • eclipse 找不到 android.support.v4.widget.SwipeRefreshLayout

    即使点击添加支持库并选择版本19后 eclipse仍然找不到android support v4 widget SwipeRefreshLayout 有谁知道如何让它发挥作用 我在用
  • 无法在 AWS Opsworks 上使用 Chef 12 找到 Chef 社区食谱

    问题 在 AWS OpsWorks 上运行自定义说明书时setup failed状态针对实例显示 并且故障日志中显示以下内容 2016 03 26T22 53 48 00 00 INFO Started chef zero at chefz
  • numpy 中的索引(与 max/argmax 相关)

    假设我有一个 N 维 numpy 数组x和一个 N 1 维索引数组m 例如 m x argmax axis 1 我想构造 N 1 维数组y这样y i 1 i N 1 x i 1 i N 1 m i 1 i N 1 为了argmax上面的例子
  • 具有高质量代码的开源 Objective-C 项目?

    我认为学习新编程语言的最佳方法之一是深入研究源代码并了解经验丰富的程序员如何编写 我在 Stack Overflow 上发现了针对其他语言的此类问题 但没有针对 Objective C 的问题 我发现的最接近的是这个关于好看的 Cocoa
  • 如何在Delphi中调试由另一个.exe启动的.exe

    我想调试App2 exe 它是由App1 exe启动的 如果 App2 exe 是一个 dll 我可以指定一个主机应用程序 但这似乎不适用于 exe 我现在使用 附加到进程 但如果 App2 exe 在我执行此操作之前崩溃 则这是无用的 有
  • 为什么无符号变量没有被更频繁地使用? [复制]

    这个问题在这里已经有答案了 似乎无符号整数对于方法参数和永远不应该为负数的类成员很有用 但我没有看到很多人以这种方式编写代码 我自己尝试了一下 发现需要从 int 转换为 uint 有点烦人 无论如何 你对此有何想法 复制 为什么数组长度是
  • 如何在 C# 中执行 cmd,然后在同一窗口中执行后面的另一个命令?

    我想要完成的是一个基本上一键设置活动分区的程序 节省了使用 cmd 提示符等的时间和技巧 我已经研究了 System Management 名称空间 但无法弄清楚如何使用它 所以我求助于使用 CMD 我有一个用 C 编写的模块应用程序 基本
  • WebSocket 连接建立时出错:net::ERR_CONNECTION_CLOSED

    当我尝试建立一个wss与我的服务器的连接 与 wss mydomain 3000 的 WebSocket 连接失败 错误 连接建立 net ERR CONNECTION CLOSED 我目前有一个 apache2 虚拟主机配置设置来侦听端口
  • Hyperledger Composer:尚未为此连接指定业务网络

    我已经在本地安装了 hyperledger 作曲家 但在本地主机上它给出错误 错误 尝试 ping 时出错 错误 没有业务网络 为此连接指定 我也无法添加模型和脚本文件 这是终端中显示的错误 error Hyperledger Compos
  • 开放数据库你好世界

    我正在尝试了解 openDatabase 并且我想我正在将其插入到 TABLE1 但我无法验证 SELECT FROM TABLE1 是否正常工作
  • 在清单中指定 Android Market RAM

    有些人继续在具有 100MB RAM 的手机上下载并安装我们的高清游戏 并给我们一个差评 有没有办法将应用程序下载限制为仅具有大量内存的智能手机 或者限制为新型号 CPU 我的最终解决方案来自 Raghav Sood 的提示 经过一番研究后
  • 使用 C# WebClient 伪造表单提交

    我需要调用 Web 并从我的 asp net mvc 应用程序中的模型检索结果数据 在网络上访问时 表单如下所示
  • 需要开发数据库逻辑方面的帮助

    这是我的一个小型项目 航空公司预订系统 让我们称这个航空公司为 FlyMi 我有一个数据库 尚未决定使用哪个数据库 我的朋友想要使用 MongoDB 无论如何 这是我的要求 我有一张表 其中包含航班详细信息 航班号 时刻表等 我将使用这张表
  • 将 Null 值分配给数据表中的整数列

    我有一个数据表 其中一个列名称为 CustomerID 数据类型为整数 我想动态地将行添加到数据表中 为此 我创建了一个 DataRow 对象 例如 DataTable dt new DataTable DataRow DR dt NewR
  • Terraform 配置程序无法 winrm 到 Azure 上新建的 Windows VM

    我正在尝试使用 Terraform 在 Azure 上配置 Windows VM 并同时引导它 我能想到的方法是terraform provisioner 出于测试目的 我这样编写了配置程序 provisioner remote exec
  • Android 中带有房间数据库的多线程

    最近我开始在我的 Android 应用程序中使用房间数据库 尝试从多个线程访问数据库时遇到一些问题 我在所有线程中使用相同的数据库实例 据我所知 如果所有线程都有相同的数据库实例 那么 数据库访问是序列化的 我读过一个blog https
  • keras.utils.to_categorical() - 名称 keras 未定义

    我正在运行测试脚本喀拉斯网站 https keras io getting started sequential model guide 用于多层感知器 MLP 用于多类 softmax 分类 在 jupyter 笔记本中运行时 出现错误
  • 扩展的 VSCode 错误日志在哪里?

    当我收到扩展错误时 我无法知道为什么会发生错误 您可能正在寻找 cmd shift p gt 搜索Show Logs gt Extension Host
  • 如何使 HSQL 驱动程序正常工作?

    我目前正在学习 Java 中的一些数据库技巧 我发现我正在读的这本好书 在某些时候 它鼓励我尝试与以下类进行手动数据库连接 import java sql DriverManager import java sql Connection i