【问题标题】:Creating/Configuring Derby JDBC Client in IntelliJ Idea 13在 IntelliJ Idea 13 中创建/配置 Derby JDBC 客户端
【发布时间】:2014-05-20 07:19:42
【问题描述】:

对不起这个(也许)愚蠢的问题。 我需要在我的 java 项目中创建一些本地数据库,所以我决定使用 Apache Derby Client。我正在使用 IntelliJ IDEA 13 Ultimate,我的问题是我不知道如何创建本地数据库。 Jetbrains 网站上的教程没有用,因为只有关于连接到远程数据库而不是本地数据库的文章(或者至少我还没有找到它们)。

到目前为止我做了什么:

  1. 我尝试通过创建新的远程 derby 数据源来设置数据库。 设置截图:DB Settings screen

用户名和密码相同:admin

  1. 点击test connection后,抛出这个错误:error
  2. 当我点击applyok时,它说它已连接,但仍然存在异常。

那么您知道问题出在哪里吗? 我有一个名为 DatabaseSetting.java

的小型配置类
package issuetrackinglite;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseSetting {

private String dbURL = "jdbc:derby://localhost:1527/MallDB;create=true";
private String user = "admin";
private String password = "admin";
private Connection connection;



public static final String CREATE_ITEMS_DB = "CREATE TABLE items (item_id INTEGER NOT NULL, item_name VARCHAR(20) NOT NULL, item_price REAL NOT NULL, multiplicity_shop INTEGER NOT NULL, multiplicity_store INTEGER NOT NULL)";
public static final String INSERT_PRODUCT = "INSERT INTO items (item_id, item_name, item_price, multiplicity_shop, multiplicity_store) VALUES (?, ?, ?, ?, ?)";
public static final String CLEAR_ITEMS_DB = "DELETE FROM items";

// -------------------------------------------------------------

protected Connection connectToDB() {

    try {

        connection = DriverManager.getConnection(dbURL, user, password);

        return connection;

    } catch (SQLException ex) {
        System.out.println("SQL exception - connectToDB(): " + ex.getMessage());
        return null;
    }

}

}

编辑

简单解释:我只需要创建虚拟 derby 数据库,该数据库将在每次程序启动时创建。 我不知道,如何在 IntelliJ 中做到这一点。 我已将DERBY_HOME 添加到环境变量中,还添加了到 Derby 的路径。现在这个错误是由 IntelliJ 抛出的:Error window

非常感谢您的帮助和时间

【问题讨论】:

    标签: java jdbc intellij-idea derby


    【解决方案1】:

    对于嵌入式数据库,请使用连接 URL 输入字段右侧的 default/In-Memory/URL only 选择框。当设置为In-Memory 时,它会生成以下网址,这对我有用。

     jdbc:derby:memory:MallDB;create=true
    

    【讨论】:

      【解决方案2】:

      我设法完成了这项工作。以下是我成功配置本地 Derby 数据库以在 IntelliJ Idea 13/14 中工作的步骤。

      1. 首先,在 IDEA 中使用之前,您需要手动启动 derby 服务器(如果它尚未运行)。我通常通过命令提示符输入:

        C:\Users\PcName>startNetworkServer -noSecurityManager

        此命令将在端口号:1527 上启动 derby 服务器。确保您在环境变量中正确设置了路径

      2. 接下来进入IDEA,打开Database窗口,点击左上角的绿色加号,在下拉菜单中选择:Data Source -> Derby -> Remote

      3. 您可以通过我的问题屏幕截图中提供的设置来激发灵感。您还可以下载 Derby 驱动程序文件。 IDEA 只需点击下载按钮即可。

        我一直使用的基本模板是这样的:

        姓名字段应采用以下形式:Derby - YourDatabaseName;create=true@localhost

        主机字段里面应该有localhost

        端口必须是1527

        数据库字段必须是:YourDatabaseName;create=true

        Urc 连接: jdbc:derby://localhost:1527/YourDatabaseName;create=true

      4. (可选)- 您可以指定数据库用户名和密码。在 IDEA 14 中有一个复选框使用主密码保护保存在磁盘上,我个人总是不选中它。

      就是这样。我希望这个小指南能帮助人们在 Intellij IDEA 中配置 Derby

      【讨论】:

      • 是的,这很完美。我很感激这个指南。
      【解决方案3】:

      我认为对于本地(嵌入式)数据库,您可以在连接 url 中省略主机和端口。

      documentation 表示 URL 的格式应为:jdbc:derby:MallDB;create=true

      【讨论】:

      • 谢谢您的回答。尝试创建嵌入式数据库无效。错误还是一样:Connection to MallDB failed. Unable to create database 也许我没有使用正确的工具。还是可能是某种特权问题?项目目录在C:/Users/..
      猜你喜欢
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 2014-02-19
      • 2011-04-20
      • 2015-02-22
      相关资源
      最近更新 更多