Results 1 to 8 of 8
  1. #1
    Join Date
    Sep 2003
    Posts
    84

    Unanswered: NULLID.SYSSH203 - package not found

    We are on UDB V8.1 on AIX.

    We encountered this problem while trying to inserts records using jdbc ( type 4 driver provided by DB2).
    From the IBM web site I found the following info - obviously the pre-defined package NULLID.SYSSH203 does not exist in DB2. DB2 allows upto SYSH202 ( from SYSH200). Now as we are inserting data it is executing SYS200-SYSH202 ( each of which contains 65 sections) and hence inserting upto 195 rows. After that it is trying to find the package SYSH203 ( this is what my understanding is) which is not there.

    So, how can we insert more than 195 rows at one go using jdbc . ( One idea may be to open a fresh connection but that does not sound very sophisticated).

    Anyone has any idea ?

  2. #2
    Join Date
    May 2002
    Location
    General Deheza, Cba, Arg.
    Posts
    276

    Re: NULLID.SYSSH203 - package not found

    Hi Dipanjan.

    do you test rebind this package?

  3. #3
    Join Date
    Sep 2003
    Posts
    84
    I do not think rebinding this package is an option as this package does not exist .

    I am not very clear about this whol thing - but what I have understood so far is that for executing the sql using jdbc DB2 uses some predefined packages ( SYSSH200-SYSSH203 each haviing 65 sections ). This , to my understanding enables 65*3 = 195 rows to be entered and then it tries to find the next package (SYSSH203 which is not supplied and hence it fails).

    My question is how do you insert a large number of rows using jdbc ?

    ( I feel that if I reopen another connection DB2 will try to execute the packages from SYSSH200 again) but is there a simpler way of doing this ?
    What happens if I commit the transactions after say every 195th row. Will DB2 create the SYSSH200 - 202 pacakges again and execute them ?

  4. #4
    Join Date
    May 2002
    Location
    General Deheza, Cba, Arg.
    Posts
    276
    read this document. (may be help you)

    http://www-306.ibm.com/cgi-bin/db2ww...rt?&fn=1113530

  5. #5
    Join Date
    Sep 2003
    Posts
    84
    Thanks for the link.

    But if you note it says within the doc 'The default number of iterations for each dynamic package is 3'.

    I think the problem that I am facing is due to this . Each package has 65 sections ( which will translate into 65 SQLs). So for 3 iterations it is successfully able to process 65*3 = 195 rows.

    Is there a way by which
    a) this default can be increased ?
    and/or
    b) I can reuse the packages SYSSH200-202 for the next 195 SQLs ?

  6. #6
    Join Date
    May 2002
    Location
    General Deheza, Cba, Arg.
    Posts
    276
    sorry, i no know

  7. #7
    Join Date
    Feb 2003
    Posts
    13
    Dipanjan was right: a fourth iteration of a small package does not exist.
    Actually this is a bug of DB2 v8.1.
    Either apply fix pack 1 of DB2 v8.1 or upgrade to DB2 v8.2
    (check doc: http://www-1.ibm.com/support/docview...id=swg21115245)

  8. #8
    Join Date
    Jan 2005
    Posts
    191
    How are you inserting the rows? If your statement is
    INSERT INTO SOMETABLE VALUES (0,1,2,3,'A','B','C')
    then I can see why DB2 is using a separate internal statement for each one. If, however, you used
    INSERT INTO SOMETABLE VALUES (?,?,?,?,?,?,?)
    prepared the statement once, and then repeatedly executed the (prepared) statement after binding values to each parameter marker then I suspect it would use only one internal statement.

    James Campbell

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •