Java w/ SQL Server Express 2008 - Index out of range exception
- by BS_C3
Hi!
I created a stored procedure in a sql express 2008 and I'm getting the following error when calling the procedure from a Java method:
Index 36 is out of range.
com.microsoft.sqlserver.jdbc.SQLServerException:Index 36 is out of range.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:698)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setValue(SQLServerPreparedStatement.java:707)
at com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setString(SQLServerCallableStatement.java:1504)
at fr.alti.ccm.middleware.Reporting.initReporting(Reporting.java:227)
at fr.alti.ccm.middleware.Reporting.main(Reporting.java:396)
I cannot figure out where it is coming from... _<
Any help would be appreciated.
Regards,
BS_C3
Here's some source code:
public ArrayList<ReportingTableMapping> initReporting(
String division,
String shop,
String startDate,
String endDate)
{
ArrayList<ReportingTableMapping> rTable = new ArrayList<ReportingTableMapping>();
ManagerDB db = new ManagerDB();
CallableStatement callStmt = null;
ResultSet rs = null;
try {
callStmt = db.getConnexion().prepareCall("{call getInfoReporting(?,...,?)}");
callStmt.setString("CODE_DIVISION", division);
.
.
.
callStmt.setString("cancelled", " ");
rs = callStmt.executeQuery();
while (rs.next())
{
ReportingTableMapping rtm = new ReportingTableMapping(
rs.getString("werks"), ... );
rTable.add(rtm);
}
rs.close();
callStmt.close();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
if (rs != null)
try { rs.close(); } catch (Exception e) { }
if (callStmt != null)
try { callStmt.close(); } catch (Exception e) { }
if (db.getConnexion() != null)
try { db.getConnexion().close(); } catch (Exception e) { }
}
return rTable;
}