• Subject: Re: INSERT fails using JDBC native driver
  • From: "John Caruso" <JohnCaruso@xxxxxxxxx>
  • Date: Fri, 28 Jan 2000 12:26:36 -0800

I followed your exact steps and received the same error:

> crtlib cujotest
  Library CUJOTEST created.
> qsh
javac TestJDBC10.java
$
java TestJDBC10
java.sql.SQLException: TEST in CUJOTEST not valid for operation.

com/ibm/db2/jdbc/app/DB2StatementRuntimeImpl.execDirect(ILjava/lang/String;I
I)I+12 (DB2StatementRuntimeImpl.java:90)

com/ibm/db2/jdbc/app/DB2Statement.genericDirectExecutor(Ljava/lang/String;I)
Z+147 (DB2Statement.java:754)

com/ibm/db2/jdbc/app/DB2Statement.executeUpdate(Ljava/lang/String;)I+31
(DB2Statement.java:789)
      TestJDBC10.main([Ljava/lang/String;)V+28 (TestJDBC10.java:14)
$

Release info:
 5769JC1   V4R2M0      AS/400 Toolbox for Java
 5769JV1   V4R4M0      AS/400 Developer Kit for Java
 5769JV1   V4R4M0      Java Developer Kit 1.1.7

It definitely seems that the driver is connecting (in error) as if I wanted
commitment control, and since the file is not journaled, I receive the
error.

I'm guessing this will go away once we install the latest cume tape, but I
had hoped someone had experienced this same problem before and could point
out a specific PTF to fix it.

John Caruso


----- Original Message -----
From: <cujo@us.ibm.com>
To: <JAVA400-L@midrange.com>
Sent: Friday, January 28, 2000 10:46 AM
Subject: Re: INSERT fails using JDBC native driver


> First, Native JDBC used to not allow the user to set the level to none,
> because the JDBC documentation says that none is a special value to
> represent the fact that transactions are not supported.  In a v4r4 PTF
> along the way we changed to allow this to work anyway, because our
customer
> base understands the concept of TX level none in a different light.
Please
> note that I do believe that the Toolbox JDBC driver still will throw an
> exception on this line (but don't hold me to that).
>
> -------------------
>
> Now for the main issue.  I don't believe you specified a release so I just
> tested it on my development box to see what would happen.  Everything
> seemed to work just fine.  What did you do that is different than these
> steps?
>
> 1) I created the library to use from the green screen:
>
> crtlib cujotest
> Library CUJOTEST created.
>
> 2) I modified your program just a little.  I had a TestJDBC program
> already, and I qualified the TEST table references:
>
> import java.sql.*;
>
> public class TestJDBC10 {
>
>     public static void main(java.lang.String[] args) throws Exception {
>
>     Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
>     Connection c = DriverManager.getConnection("jdbc:db2:*local");
>     // c.setTransactionIsolation(Connection.TRANSACTION_NONE);
>     Statement s = c.createStatement();
>
>     s.executeUpdate("CREATE TABLE CUJOTEST.TEST (ID INTEGER, DESC
> CHAR(50))");
>
>     s.executeUpdate("INSERT INTO CUJOTEST.TEST VALUES (1, 'item 1')");
>
>     s.close();
>     c.close();
>
>     }
> }
>
> 3) I ran the program from the green screen:
>
> java TestJDBC10
>
> 4) Through interactive SQL I typed this:
>
> select * from cujotest.test
>
> 5) This is the results:
>
>            ID   DESC
>             1   item 1
> ********  End of data  ********
>
>
>
> Regards,
>
> Richard D. Dettinger
> AS/400 Java Data Access Team
>
> "TRUE! nervous, very, very dreadfully nervous I had been and am; but why
> WILL you say that I am mad?
> The disease had sharpened my senses, not destroyed, not dulled them. "
>
> - Edgar Allan Poe
> "The Tell-Tale Heart"
>
>
>
>
> "John Caruso" <JohnCaruso@email.com> on 01/28/2000 11:40:30 AM
>
> Please respond to JAVA400-L@midrange.com
>
> To:   JAVA400-L@midrange.com
> cc:
> Subject:  INSERT fails using JDBC native driver
>
>
>
>
> Can anyone tell me why the following code works when the table is created
> in
> an SQL collection, but not in a normal library?  It fails on the INSERT.
> It
> appears that the native JDBC driver is using a transaction isolation level
> other than the default of NONE.  I've tried specifically setting it to
NONE
> (see commented out code) only to receive this error:
>
> java.sql.SQLException: [IBM][JDBC Driver][12025] An incorrect transaction
> isolation level was specified.
>
> When I execute the SQL statement using interactive SQL or the Client
Access
> Express SQL scripting utility, I do not encounter any problems.
>
> Is there a PTF to fix this, or am I missing something?
>
> TIA,
>
> John Caruso
> ----
>
> import java.sql.*;
>
> public class TestJDBC {
>
>     public static void main(java.lang.String[] args) throws Exception {
>
>     Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
>     Connection c = DriverManager.getConnection("jdbc:db2:*local");
>     // c.setTransactionIsolation(Connection.TRANSACTION_NONE);
>     Statement s = c.createStatement();
>
>     s.executeUpdate("CREATE TABLE TEST (ID INTEGER, DESC CHAR(50))");
>
>     s.executeUpdate("INSERT INTO TEST VALUES (1, 'item 1')");
>
>     s.close();
>     c.close();
>
>     }
> }
> ----
> Here is output when run with normal library:
>
> java.sql.SQLException: TEST in JCARUSO not valid for operation.
>
>
com/ibm/db2/jdbc/app/DB2StatementRuntimeImpl.execDirect(ILjava/lang/String;I
>
> I)I+12 (DB2StatementRuntimeImpl.java:90)
>
>
com/ibm/db2/jdbc/app/DB2Statement.genericDirectExecutor(Ljava/lang/String;I)
>
> Z+147 (DB2Statement.java:754)
>
> com/ibm/db2/jdbc/app/DB2Statement.executeUpdate(Ljava/lang/String;)I+31
> DB2Statement.java:789)
>       TestJDBC.main([Ljava/lang/String;)V+28 (TestJDBC.java:13)
>
> +---
> | This is the JAVA/400 Mailing List!
> | To submit a new message, send your mail to JAVA400-L@midrange.com.
> | To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
JAVA400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner: joe@zappie.net
> +---

+---
| This is the JAVA/400 Mailing List!
| To submit a new message, send your mail to JAVA400-L@midrange.com.
| To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
| To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: joe@zappie.net
+---

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].