对不起这个(也许)愚蠢的问题。我需要在我的java项目中创建一些本地数据库,所以我决定使用Apache Derby Client。我正在使用IntelliJ IDEA 13 Ultimate,我的问题是我不知道,如何创建本地数据库。 Jetbrains网站上的教程没有用,因为只有关于连接到远程数据库的文章,而不是本地文章(或者至少我还没有找到它们)。
到目前为止我做了什么:
用户名和密码相同:admin
test connection
后,抛出此错误:errorapply
和ok
时,它表示它已连接,但异常仍然存在。所以你知道问题出在哪里吗?我有一个名为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;
}
}
}
编辑
简单解释:我只需要创建虚拟德比数据库,每次在程序启动时都会创建。我不知道,如何在IntelliJ中做到这一点。我已将DERBY_HOME
添加到环境变量中,并添加了Derby的路径。现在IntelliJ抛出了这个错误:Error window
非常感谢你的帮助和时间
我成功地完成了这项工作。以下是我成功配置本地Derby数据库以在IntelliJ Idea 13/14中工作的步骤。
Data Source -> Derby -> Remote
Derby - YourDatabaseName;create=true@localhost
主机字段里面应该有localhost
港口必须是1527
数据库字段必须是以下形式:YourDatabaseName;create=true
Urc连接:jdbc:derby://localhost:1527/YourDatabaseName;create=true
而已。我希望这个小指南能帮助有人在Intellij IDEA中配置Derby
我认为对于本地(嵌入式)数据库,您将在连接URL中留下主机和端口。
documentation说网址应该是以下形式:jdbc:derby:MallDB;create=true
对于嵌入式数据库,请使用连接URL输入字段右侧的default
/ In-Memory
/ URL only
选择框。当设置为In-Memory
时,它会生成以下URL,这对我有用。
jdbc:derby:memory:MallDB;create=true