尝试使用 jdbc 运行 db2 命令。下面是java代码和异常
db2从coldel0x09修改的del文件加载插入项目 代码:
Connection conn = getConnectionFromDB(); // Connection object
Statement stmt = conn.createStatement(); //Statement object
sql = "db2 load from filepath of del modified by coldel0x09 insert into tablename";//command
System.out.println("Executing command: "+ sql);
stmt.execute(sql);
} catch (SQLException e) {
throw new RuntimeException("Error loading into table '" + tableName + "' with SQL: " + sql, e);
}
}
运行命令后出现异常:
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=load;db2 ;JOIN , DRIVER=4.9.78 at com.ibm.db2.jcc.am.fd.a(fd.java:676) at com.ibm.db2.jcc.am.fd.a(fd.java:60) at com.ibm.db2.jcc.am.fd.a(fd.java:127) at com.ibm.db2.jcc.am.en.c(en.java:2553) at com.ibm.db2.jcc.am.en.d(en.java:2541) at com.ibm.db2.jcc.am.en.b(en.java:1957) at com.ibm.db2.jcc.t4.cb.h(cb.java:221) at com.ibm.db2.jcc.t4.cb.b(cb.java:47) at com.ibm.db2.jcc.t4.q.b(q.java:38) at com.ibm.db2.jcc.t4.rb.h(rb.java:114) at com.ibm.db2.jcc.am.en.hb(en.java:1952) at com.ibm.db2.jcc.am.en.a(en.java:3040) at com.ibm.db2.jcc.am.en.e(en.java:1028) at com.ibm.db2.jcc.am.en.execute(en.java:1012)
最佳答案
Error -104是一个语法错误,“意外的标记”。您想要做的是在 JDBC 环境中执行命令行命令。这在设计上是行不通的。
You may want to look into executing LOAD by calling the ADMIN_CMD procedure 。 ADMIN_CMD允许在没有可用命令行界面的情况下运行管理命令。
关于java - 无法使用 jdbc 运行 DB2 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59048905/