Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
Rajeswari
Starting Member
20 Posts |
Posted - 2002-01-16 : 07:16:45
|
| Hello,I am using the MS SQL 2000 JDBC driver from microsoft to connect to a SQL2000 DB. The connections work fine but when I try to call a stored procedure which has OUTPUT parameters I get an exception. Here is the code snippet:CallableStatement stmt = con.prepareCall("{(call mysp(?))}");stmt.registerOutParameter(1, java.sql.Types.INTEGER);ResultSet rs = stmt.executeQuery();int out = stmt.getInt(1);Here in the last line I get an "The requested data is not available" exception.Any suggestions ?Thanks ! |
|
|
Rajeswari
Starting Member
20 Posts |
Posted - 2002-01-17 : 02:23:24
|
| Hi !!I've solved the problem with OUT parameters :p !! This seems to be a problem with the ODBC stack of Microsoft !! Problem does not arise with other drivers !! This problem arises not only with the ODBC-JDBC driver but with apps like Visual Basic, VC++, etc with use MS ODBC stack !!The solution:Do not return Resultsets with OUTPUT parameters !! This does not work. The solution is to split the stored procedures into two procedures, one returning the OUTPUT parameter (if required) and another returning the resultset. Another workaround would be to include the OUTPUT parameter as another Column in the Resultset !! MS ODBC, JDBC client drivers do NOT allow you to return OUTPUT parameters with resultsets !! If you return either one of them alone no problem comes !!Hope this helps you people out there facing the same problem ;) - rajeswari |
 |
|
|
|
|
|