Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement
От | Thomas Kellerer |
---|---|
Тема | Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement |
Дата | |
Msg-id | mkillq$bni$1@ger.gmane.org обсуждение исходный текст |
Ответ на | Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement (dmp <danap@ttc-cmc.net>) |
Ответы |
Re: Re: CallableStatement.getParameterMetaData() throws exception
for valid {call ...} statement
|
Список | pgsql-jdbc |
dmp wrote on 30.05.2015 21:50: > Seems to work fine, maybe I have it wrong? > interesting, your code indeed works. After playing around with it, the difference is that I call getParameterMetaData() *before* calling registerOutParameter(). This works: cstmt = connection.prepareCall("{call sum_n_product(?,?,?,?)}"); cstmt.registerOutParameter(3, Types.INTEGER); cstmt.registerOutParameter(4, Types.INTEGER); cstmt.setInt(1, 2); cstmt.setInt(2, 5); cstmt.execute(); meta = cstmt.getParameterMetaData(); This also works: cstmt = connection.prepareCall("{call sum_n_product(?,?,?,?)}"); cstmt.registerOutParameter(3, Types.INTEGER); cstmt.registerOutParameter(4, Types.INTEGER); meta = cstmt.getParameterMetaData(); cstmt.setInt(1, 2); cstmt.setInt(2, 5); cstmt.execute(); This does NOT work: cstmt = connection.prepareCall("{call sum_n_product(?,?,?,?)}"); meta = cstmt.getParameterMetaData(); -- right after preparing the statement! cstmt.registerOutParameter(3, Types.INTEGER); cstmt.registerOutParameter(4, Types.INTEGER); cstmt.setInt(1, 2); cstmt.setInt(2, 5); cstmt.execute(); So getParameterMetaData() seems to only work after all OUT parameters have been registered (I also tried calling it afterthe first registerOutParameter() - failed as well). So how can I retrieve the information about the parameters if I can't call getParameterMetaData() before registering theparameters (which I try to detect by calling that method). The JDBC JavaDocs do not mention such a restriction. Thomas
В списке pgsql-jdbc по дате отправления: