【发布时间】:2014-08-16 19:59:28
【问题描述】:
问题:
我正在创建一个需要使用集成数据库的应用程序,但在让我的应用程序连接到数据库/表时遇到问题。不幸的是,我对 Java 连接到数据库的知识相当有限,但我所阅读和观看的所有内容似乎都表明我的代码是正确的。
我的代码:
public static void main(String[] args) {
try{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection con = DriverManager.getConnection("jdbc:derby:datahold;");
Statement stat = con.createStatement();
ResultSet rs = stat.executeQuery("select * from APP.DATASTORE");
ResultSetMetaData meta=rs.getMetaData();
int columnCount = meta.getColumnCount();
for (int x = 1; x <= columnCount; x++)
System.out.format("%20s",meta.getColumnName(x)+ " | ");
while (rs.next()){
System.out.println("");
for (int x = 1; x <= columnCount; x++) System.out.format("%20s", rs.getString(x)+ " | ");
}
if (stat != null) stat.close();
if (con != null) con.close();
} catch(Exception e) {
System.out.print(e);
}
}
错误:
java.sql.SQLSyntaxErrorException: 表/视图 'APP.DATASTORE' 不存在。BUILD 成功(总时间:1秒)
我的数据库设置:
我已尝试删除“APP”。但这会导致应用程序无法找到表“ROOT.DATASTORE”。
如果有人能在这里帮助我,那就太好了!
更新:
我现在可以看到,在运行应用程序时,它正在包的根目录中创建数据库文件。因此,嵌入式驱动程序连接必须正常工作(至少我是这么看的)。我的问题是数据库应该位于此处还是应该保存在“dist”文件夹中?
我假设它无法看到该表,因为它正在寻找错误的位置。
【问题讨论】:
标签: java database netbeans database-connection derby