Discussion:
log4j within java stored procedure
(too old to reply)
d***@us.ibm.com
2007-11-22 08:03:44 UTC
Permalink
I want be able write some information from db2 inserts into Windows Application Log. I try use log4j's NTEventLogAppender within java stored procedure, called from trigger.<br />
<br />
example of SP:<br />
<br />
package PKG71021015549570;<br />
<br />
import java.sql.*; <br />
import org.apache.log4j.Level;<br />
import org.apache.log4j.Logger;<br />
import org.apache.log4j.SimpleLayout;<br />
import org.apache.log4j.nt.NTEventLogAppender;<br />
<br />
public class PROCEDURE2<br />
{<br />
<p />
public static void pROCEDURE2 (int value ) throws SQLException, Exception<br />
{<br />
Logger logger = Logger.getLogger("computel.test");<br />
logger.setLevel(Level.INFO);<br />
NTEventLogAppender ntAppender = new NTEventLogAppender();<br />
logger.addAppender(ntAppender);<br />
<p />
Connection con = DriverManager.getConnection("jdbc:default:connection");<br />
PreparedStatement stmt = null;<br />
boolean bFlag;<br />
String sql= "UPDATE VYAROSHEVICH.TEST2 SET \"COUNT\" = "+value;<br />
<br />
stmt = con.prepareStatement( sql );<br />
bFlag = stmt.execute();<br />
logger.info("Test message 2: "+value);<br />
<br />
}<br />
} <br />
<br />
It's works from db2 development Center, but calls from trigger or clp fail (sqlstate=38501)! What reason for it?<br />
<br />
Is exist another way for event logging from DB2 on Windows?
Knut Stolze
2007-11-23 20:30:01 UTC
Permalink
Post by d***@us.ibm.com
I want be able write some information from db2 inserts into Windows
Application Log. I try use log4j's NTEventLogAppender within java stored
procedure, called from trigger.<br /> <br /> example of SP:<br />
<br />
package PKG71021015549570;<br />
<br />
import java.sql.*; <br />
import org.apache.log4j.Level;<br />
import org.apache.log4j.Logger;<br />
import org.apache.log4j.SimpleLayout;<br />
import org.apache.log4j.nt.NTEventLogAppender;<br />
<br />
public class PROCEDURE2<br />
{<br />
<p />
public static void pROCEDURE2 (int value ) throws SQLException, Exception<br />
{<br />
Logger logger = Logger.getLogger("computel.test");<br />
logger.setLevel(Level.INFO);<br />
NTEventLogAppender ntAppender = new NTEventLogAppender();<br />
logger.addAppender(ntAppender);<br />
<p />
Connection con =
DriverManager.getConnection("jdbc:default:connection");<br />
PreparedStatement stmt = null;<br /> boolean bFlag;<br />
String sql= "UPDATE VYAROSHEVICH.TEST2 SET \"COUNT\" = "+value;<br />
<br />
stmt = con.prepareStatement( sql );<br />
bFlag = stmt.execute();<br />
logger.info("Test message 2: "+value);<br />
<br />
}<br />
} <br />
<br />
It's works from db2 development Center, but calls from trigger or clp
fail (sqlstate=38501)! What reason for it?<br /> <br />
Is exist another way for event logging from DB2 on Windows?
What's the exact error message that you got?
--
Knut Stolze
DB2 z/OS Utilities Development
IBM Germany
Continue reading on narkive:
Loading...