当前位置: 首页 > 知识库问答 >
问题:

建立Java数据库

赵宏达
2023-03-14

我试图为一个编程类设置一个Java DB数据库。我正在遵循Deitel和Deitel教科书中的步骤:

我已经安装了JDK11.8.0_112。我运行的是Windows10。

我的安装在C:\program files\java\jdk1.8.0_112。我将JAVA_HOME var设置为C:\program files\java\jdk1.8.0_112

然后,连接'jdbc:derby:newbooks;create=true;user=xxx;password=xxx';我有数据库和表要创建(我想)。但是当我运行代码时,我得到“java.sql.sqlException:没有找到适合jdbc:derby:newbooks的合适的驱动程序”

我真是束手无策。我现在已经花了两天时间试图设置干净的安装,并像书的设置一样遍历

下面是代码:`try(Connection Connection=DriverManager.getConnection(DATABASE_URL,“deitel”,“deitel”);

        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(SELECT_QUERY)) {
        
        ResultSetMetaData metaData = resultSet.getMetaData();
        int numberOfColumns = metaData.getColumnCount();
        
        System.out.printf("Authors Table of Books Database: %n%n");
        
        for (int i = 1; i  <= numberOfColumns; i++) {
            System.out.printf("%-8s\t", resultSet.getObject(i));
        }
    }
    catch (SQLException sqlException) {
        sqlException .printStackTrace();
    }`

编辑:问题是我必须提取derby.jar文件并手动添加它们,谢谢Marco Tizzano。

但是现在,我得到了这个错误:java.sql.sqlException:数据库'books'没有找到。在org.apache.derby.impl.jdbc.sqlExceptionFactory.getSQLException(未知源)在org.apache.derby.impl.jdbc.sqlException(未知源)在org.apache.derby.impl.jdbc.sqlException(未知源)在org.apache.derby.impl.jdbc.getSQLException(未知源)在org.apache.derby.impl.jdbc.util.generatecssqleException(未知源)在EmbedConnection.(未知源)位于org.apache.derby.jdbc.InternalDriver$1.运行(未知源)位于org.apache.derby.jdbc.InternalDriver$1.运行(未知源)位于java.security.accessController.doprivileged(本机方法)位于org.apache.derby.jdbc.InternalDriver.getnewEmbedConnection(未知源)位于org.apache.derby.jdbc.InternalDriver.connect(未知源)位于getConnection(driverManager.java:664)位于displayauthors.displayauthors.main(displayauthors.java:24)。

编辑2:我想我在错误的目录中创建了数据库,我在正确的目录中重新运行了它,projectname->src->proejctname。命令提示符显示所有正确的SQL内容、表创建和列名等,然后运行插入。这还在该目录中创建了一个具有数据库名称的文件夹,但仍然出现数据库未找到错误。

共有1个答案

农飞翔
2023-03-14

如果您在Netbeans中运行代码,问题是JVM找不到Apache Derby的驱动程序,通常(从JDBC 4.0+)是从类路径自动加载的。
请记住,为了成功地获得数据库连接,首先DB供应商驱动程序文件(在本例中是derby.jar、derbyTools.jar和derbyOptionalTools.jar)必须出现在类路径中,事实上这正是本书在创建数据库时指导您做的事情。
所以,在您的情况下,您必须在项目依赖项中添加这些库。
我从未使用过Netbeans,但以下答案将帮助您:如何在Netbeans中设置类路径?

我在这里报告要做的步骤:

  1. 右键单击项目。
  2. 选择属性
  3. 在左侧单击Libraries.
  4. 编译选项卡下-单击添加jar/folder按钮。
  1. 展开项目。
  2. 右击
  3. 选择添加jar/folder
 类似资料:
  • 建立数据模型类 通常在使用数据库之前,我们需要先建立好对应数据表的模型类。当然在sp框架里面可以简化这个步骤,直接通过自带的Model类来进行数据模型操作。 以下是两种方案: 不建立模型类,直接用Model进行操作 <?php class DbController extends BaseController { function actionIndex(){ // 直接使

  • Tips 在贝格乐,您的帐户需要具有管理员的权限才能创建Git数据库。如果您的帐户没有管理员的权限,可以委托有此权限的人来创建数据库。友情提示:您可以使用免费方案的贝格乐空间哟。 从这里获取空间 请登录到贝格乐,然后,从创建数据库的项目菜单中点击“Git”。如果您的空间还没有任何项目,请先创建一个项目。 如果页面没有显示“Git”标签,请先激活Git功能。“项目设置” &GT; 在 “Git设置”

  • 嗨,我正在尝试使用HikariCP与Spring连接池。我正在使用jdbcTempLate和JdbcDaoSupport。 这是数据源的spring配置文件:

  • 我的目标是为现有应用程序启用架构和数据迁移。 这种问题似乎已经被问过很多次了,不过我想是因为不同的要求和环境。 由于我在这个领域没有经验,请允许我先介绍一下应用程序的架构和我的假设。 该应用程序是一个多用户企业桌面应用程序,具有后端服务器,可以持久保存到任何主要数据库(MySql,Postgresql,SQL服务器,Oracle数据库等)。假设数据库是内部部署的,并由我们的客户维护。 使用的技术堆

  • 在下面的代码中,我有两个文件。一个用于数据库连接,另一个用于基于html的jsp文件。我正在尝试检查数据库的版本并将其打印到屏幕上。我正在尝试返回CheckVersion的值,并使用out.println将其放到网页上。 jasperException:PWC6033:JSP的Javac编译错误 PWC6199:生成的servlet错误:包com.sun.xml.rpc.processor.mod

  • 我正在建造我的第一个Java图书馆。代码使用了大量的IO方法,因此可以想象有大量的异常需要捕获。但我在想,我应该抛出例外吗?我的意思是,捕捉异常当然是应用程序编写者的工作。因为即使我抓到了它们,我也不知道应用程序在发生这种情况时会做什么。 我应该抛出IOExceptions等,还是应该在库代码中捕获它们?