× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: DB2 trigger doesn't work when INSERT comes from Java app - Attention Theo Soppe
  • From: jom@xxxxxxxxxxxxxxx (Jacob Madsen)
  • Date: Fri, 28 Apr 2000 12:32:52 +0200

Hi Theo.
 
It's no problem to write it in C, the only problem is, that the precompiler for this statement:
 
"case '2':
{                                                 
  EXEC SQL
  SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
}"
 
returns this error:
 
SQL0104  30      21  Position 55
Token UNCOMMITTED was not valid. Valid tokens: COMMITTED.
 
Can you help me out? Is there an error in your code, or am I doing something wrong?
 
Jacob                                    
 
----- Original Message -----
From: Theo Soppe
Sent: 27. april 2000 13:24
Subject: Re: DB2 trigger doesn't work when INSERT comes from Java app; works fine from STRSQL

Yes, been there!
I found out that the following code is needed in your trigger program (which in my case is RPG ;-)
Point of the whole problem is that you have to set the Transaction Isolation Level according to the triggering operation. After I made this change everything worked fine. Maybe someone else can help you to implement this in C, if you can't do it yourself.
 
Good luck!
 
Theo.
 
 * ====================================================================
 * Set Transaction Isolation Level to the same as the application     
 * ====================================================================
c                   select                                            
c                   when      cmtlck='0'                              
c/exec sql SET TRANSACTION ISOLATION LEVEL NONE                       
c/end-exec                                                            
c                   when      cmtlck='1'                              
c/exec sql SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, READ     
c+         WRITE                                                      
c/end-exec                                                            
c                   when      cmtlck='2'                              
c/exec sql SET TRANSACTION ISOLATION LEVEL READ COMMITTED             
c/end-exec                                                            
c                   when      cmtlck='3'                              
c/exec sql SET TRANSACTION ISOLATION LEVEL ALL                        
c/end-exec               
c                   endsl
 
----- Original Message -----
From: "Jacob Madsen" <jom@mail.ikasths.dk>
Sent: donderdag 27 april 2000 11:37
Subject: DB2 trigger doesn't work when INSERT comes from Java app; works fine from STRSQL

> Hi all
>
> I have created a trigger in ILE C, which takes care of autogenerating a
> primary key for a statistics table. This is made the following way:
>
> 1. The primary key has a DEFAULT of 0
> 2. The trigger first adds 1 to the value in the key table - a separate table
> only with the key.
> 3. The trigger updates the value each time after insert in the statistics
> table WHERE primary key = 0.
>
> Now the weird part comes. I've tested this with INSERT statements in STRSQL,
> and it works exactly like it's supposed to. But when I execute a INSERT
> statement from the Java app, for which the database is made, the trigger
> never runs, which of course results in a key violation.
>
> Any good ideas?
>
> Jacob
>
>
> +---
> | 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
> +---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2024 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.