This is a discussion on Informix - Trigger a java class within the Informix forums, part of the Database Server Software category; --> Hi all Just wondering if it is possible to trigger a java class from informix. The scenario is that ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi all Just wondering if it is possible to trigger a java class from informix. The scenario is that I want to have a print queue table and once a record is inserted in the table informix should trigger the java class. This class will use the data in the print queue table and look up other tables to find information needed to print the document. Can this be done, if so how? Peter |
| |||
| You can create procedures/functions in Informix mapping them to Java classes. See the manual for details on setting Informix to run java procedures and using them. http://publib.boulder.ibm.com/infoce....doc/jfoun.htm CREATE FUNCTION PrintAction(int a , lvarchar b) WITH (CLASS="jvp") EXTERNAL NAME 'FirstUDR.Add(java.lang.integer, java.lang.String)' LANGUAGE java; CREATE TRIGGER tab1instrig INSERT ON tab1 REFERENCING NEW as new FOR EACH ROW (EXECUTE PROCEDURE PrintAction(new.id, new.info)); Within FOR EACH ROW or AFTER section of INSERT trigger, simply execute this procedure or function to run the Java code. cheers, Keshav. |
| |||
| You can create procedures/functions in Informix mapping them to Java classes. See the manual for details on setting Informix to run java procedures and using them. http://publib.boulder.ibm.com/infoce....doc/jfoun.htm CREATE PROCEDURE PrintAction(int a , lvarchar b) WITH (CLASS="jvp") EXTERNAL NAME 'FirstUDR.Add(java.lang.integer, java.lang.String)' LANGUAGE java; CREATE TRIGGER tab1instrig INSERT ON tab1 REFERENCING NEW as new FOR EACH ROW (EXECUTE PROCEDURE PrintAction(new.id, new.info)); Within FOR EACH ROW or AFTER section of INSERT trigger, simply execute this procedure or function to run the Java code. cheers, Keshav. |
| |||
| Thanks for the reply Is there a way to run a java program which isn't a UDR, i.e. it doesn't have to be installed in the database server? The code you provided above is exactly what I need only I want my java code to be located somewhere else on the same box. Thanks Peter |
| ||||
| pete wrote: > Thanks for the reply > > Is there a way to run a java program which isn't a UDR, i.e. it doesn't > have to be installed in the database server? The code you provided > above is exactly what I need only I want my java code to be located > somewhere else on the same box. > > Thanks > Peter The only other way is to convert it into a program that can be run from the command line and use the SYSTEM command inside a stored procedure. |