Re: execute() vs executeUpdate() on a prepared statement
- From: Joe Weinstein <joeNOSPAM@xxxxxxx>
- Date: Thu, 26 Jan 2006 10:33:44 -0800
AArora wrote:
I ran into this issue when running ANY update or delete statements. I also ran into this when running any DDL statements.
This also happens with executeBatch(). See bug FDBK44661.
There should be a simple example there.
I'm surprised that the driver was actually released with such bugs.
Anil
Again, please show the JDBC. I was unable to duplicate this problem with this code:
DatabaseMetaData dd = c.getMetaData();
System.out.println("Driver version is " + dd.getDriverVersion() ); Statement stmt = c.createStatement();
stmt.execute("create table #foo(bar int)"); String insert_if_absent =
" declare @qwe int "
+ " select @qwe = count(*) from #foo where bar = 1 "
+ " if (@qwe = 0) insert into #foo values(1) "; stmt.execute(insert_if_absent);
stmt.execute(insert_if_absent);
stmt.execute(insert_if_absent);
stmt.execute(insert_if_absent); stmt.execute("select count(*) from #foo");
ResultSet r = stmt.getResultSet();
while(r.next())
System.out.println("We inserted " + r.getString(1) + " row." );I get: Driver version is 1.0.809.102 We inserted 1 row.
as expected. Joe
"Joe Weinstein" wrote:
BJinDallas wrote:
We have been using JDBC drivers for 2000 for some time without problems using an execute() call against a prepared statement when performing an sql update with where clause. After upgrading to the new 2005 drivers this call now receives the error: "sp_cursoropen/sp_cursorprepare: The statement parameter can only be a single select or a single stored procedure." If I change it to call executeUpdate() instead, it works fine. What's changed in the 2005 drivers that no longer supports use of execute() when it did before?
Please show the JDBC that prepares the statement for execution, and if you can show us the SQL as well, that would be very useful. At first blush this sounds like a definite driver bug. Execute() is supposed to work for *any* SQL or procedure. Joe Weinstein at BEA
.
- Follow-Ups:
- Re: execute() vs executeUpdate() on a prepared statement
- From: Angel Saenz-Badillos[MS]
- Re: execute() vs executeUpdate() on a prepared statement
- References:
- Re: execute() vs executeUpdate() on a prepared statement
- From: Joe Weinstein
- Re: execute() vs executeUpdate() on a prepared statement
- Prev by Date: Re: execute() vs executeUpdate() on a prepared statement
- Next by Date: Re: execute() vs executeUpdate() on a prepared statement
- Previous by thread: Re: execute() vs executeUpdate() on a prepared statement
- Next by thread: Re: execute() vs executeUpdate() on a prepared statement
- Index(es):
Relevant Pages
|
Loading