【发布时间】:2025-12-16 14:00:01
【问题描述】:
我正在创建使用 derby 嵌入式数据库的桌面应用程序,虽然当我使用 derby 作为客户端数据库时它工作正常,但我想将此数据库嵌入我的桌面应用程序然后它会抛出错误 下面是帮助代码,看看吧
public class TaxInvoice extends javax.swing.JFrame {
//String connectionurl = "jdbc:derby://localhost:1527/embdIDA1db";
String connectionurl = "jdbc:derby:embdIDA1db;create=true;user=root;password=root";
Connection conn = null;
ResultSet rs;
String po_no = null;
/**
* Creates new form TaxInvoice
*/
public TaxInvoice() {
initComponents();
String dt = sdf.format(cal.getTime());
cur_date.setText(dt);
try{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
conn = DriverManager.getConnection(connectionurl,"root","root");
String sql="Select * from IMPORTED_CSV";
Statement s = conn.createStatement();
s.executeQuery(sql);
rs = s.getResultSet();
while(rs.next()){
po_no = rs.getString("PO_NO");
jTextField1.setText(po_no);
}
rs.close();
s.close();
}
catch(Exception e){
System.out.println("Error is"+e);
}
}
错误是
Error isjava.sql.SQLSyntaxErrorException: Schema 'ROOT' does not exist
【问题讨论】:
-
不要对代码使用“引用格式”!
-
@AndrewThompson 感谢您让我的代码适合提问
-
您必须先发出 CREATE TABLE 语句来创建 IMPORTED_CSV 表,然后才能从中进行选择。此外,要获取有关 Derby 方面出了什么问题的更多信息:wiki.apache.org/db-derby/UnwindExceptionChain 并学习在磁盘上找到您的 derby.log 文件并阅读它,它将包含更多信息,特别是如果您使用 -Dderby.language.logStatementText 运行=真。
-
当我使用 derby 作为客户端数据库时,它工作正常,但我想将此数据库嵌入到我的桌面应用程序中,然后它会抛出错误 1. cd /home/path -to-dist 2. 将您的数据库复制到 path-to-dist 文件夹。 IE。 /home/path-to-dist/embdIDA1db 3. java -jar app.jar
标签: java jdbc syntax-error derby