我有點沮喪與我的Java環境,不允許我調用方法OraclePreparedStatement#setPlsqlIndexTable
...但我想我應該寫代碼之前。 ..Oracle和Jdbc和OraclePreparedStatement#setPlsqlIndexTable和java.util.Date
String plSqlBody = "some pl/sql procedure call"
/*
* The PL/SQL procedure parameter is here of type
* TYPE t_date_table IS TABLE OF DATE INDEX BY PLS_INTEGER;
*/
OracleCallableStatement ocs = (OracleCallableStatement)
conn.prepareCall(plSqlBody);
java.util.Date[] date = new java.util.Date[10];
// Initialise the array... and then...
ocs.setPlsqlIndexTable(index, date, 20, 20, OracleTypes.DATE, 20);
,在這裏我得到我的例外:
java.sql.SQLException: Ungültiger PL/SQL-Indextabellen-Elementtyp
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
我didn't找到解決問題的辦法。我將Java類型從java.util.Date
更改爲java.sql.Date
/oracle.sql.DATE
和OracleTypes.DATE
至OracleTypes.TIME
/OracleTypes.TIMESTAMP
,但沒有解決問題。我發現某處暗示,這些類型不允許在這裏,但我不能相信它。你知道這裏的正確方法嗎?
'java.util.Date date = new java.util.Date [10]'不能編譯。請用編譯的代碼修改你的問題,否則很難看到有什麼問題。 – skaffman 2009-11-18 08:27:47
它被修改。 – andrewinkler 2009-11-18 09:07:11