1
我使用ActiveJDBC和Oracle 11g DB。當我使用saveIt時,我得到java.sql.Exception。當我得到它的實例或列表時,一切都好。 我做錯了什麼?使用ActiveJDBC時出現sqlException
Exception in thread "main" org.javalite.activejdbc.DBException: java.sql.SQLException: Invalid argument
зове, query: INSERT INTO dept (DEPTNO, DNAME, LOC) VALUES (?, ?, ?), params: 45, sdfa, fdg
at oracle.jdbc.driver.AutoKeyInfo.getNewSql(AutoKeyInfo.java:187)
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:5704)
at org.javalite.activejdbc.DB.execInsert(DB.java:598)
at org.javalite.activejdbc.Model.insert(Model.java:2698)
at org.javalite.activejdbc.Model.save(Model.java:2597)
at org.javalite.activejdbc.Model.saveIt(Model.java:2524)
at JavaHomeTask.Dept.addPersistence(Dept.java:72)
at JavaHomeTask.App.addRow(App.java:103)
at JavaHomeTask.App.main(App.java:50)
Caused by: java.sql.SQLException: Invalid argument
... 9 more
這裏是我的代碼:
public void addPersistence() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Dept d = new Dept();
String value;
for (String s : getAttributesNames()) {
System.out.println("Enter " + s + " and press Enter button:");
value = reader.readLine();
d.set(s, value);
}
d.saveIt();
}
public List<String> getAttributesNames() {
return Arrays.asList("DEPTNO", "DNAME", "LOC");
}
你可以發佈整個堆棧跟蹤嗎?另外,我認爲你的一個參數有問題,所以甲骨文抱怨道。 – ipolevoy
@ipolevoy看起來好像是整個堆棧跟蹤。表部門,其中我嘗試插入行的模式是 DEPTNO編號(3) DNAME VARCHAR2(14) LOC VARCHAR2(13) 我也嘗試這樣的方式: 系d =新系(); d。set(「deptno」,Integer.valueOf(11)); d.set(「dname」,「name」); d.set(「loc」,「location」); d.saveIt(); 但結果是一樣的。 PS抱歉我的英文不好。 – alex
我發現這些話題 https://github.com/javalite/activejdbc/issues/385 好像我有同樣的問題,我的表中沒有id列。我對嗎? – alex