[Stackoverflow] [Progress OpenEdge ABL] OpenEdge Progress 12.7 - can't insert data into table after adding SQL trigger

Status
Not open for further replies.
F

FireTight

Guest
I'm having tons of problems with adding and using SQL triggers with OE Progress 12.7 database.

I'm using sports2020 database, user with DBA+Resources access.

I can add new rows into (for example) table PUB.BillTo without any problems, everything works as expected.

INSERT INTO PUB.BillTo (CustNum) VALUES (<number>)

But right after I add "before insert" trigger to the table (Column 2 is Integer), like this:

Code:
CREATE TRIGGER trg1406 BEFORE INSERT ON PUB.BillTo
REFERENCING NEWROW
FOR EACH ROW
BEGIN
    NEWROW.setValue(2, 1990);
END

inserting more rows stops working, and JDBC driver just returns error:

org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [HY000]: [DataDirect][OpenEdge JDBC Driver]Transliteration failed, reason: invalid UTF8 data at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:582) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:491) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:501) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:934) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3921) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123) at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:189) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5101) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: java.sql.SQLException: [DataDirect][OpenEdge JDBC Driver]Transliteration failed, reason: invalid UTF8 data at com.ddtek.jdbc.openedgebase.ddb9.b(Unknown Source) at com.ddtek.jdbc.openedgebase.ddb9.a(Unknown Source) at com.ddtek.jdbc.openedgebase.ddb8.b(Unknown Source) at com.ddtek.jdbc.openedgebase.ddb8.a(Unknown Source) at com.ddtek.jdbc.openedge.client.dde.a(Unknown Source) at com.ddtek.jdbc.openedge.client.dde.af(Unknown Source) at com.ddtek.jdbc.openedge.client.dde.aa(Unknown Source) at com.ddtek.jdbc.openedge.client.dde.c(Unknown Source) at com.ddtek.jdbc.openedge.client.dde._(Unknown Source) at com.ddtek.jdbc.openedge.ddf.b(Unknown Source) at com.ddtek.jdbc.openedgebase.ddek.w(Unknown Source) at com.ddtek.jdbc.openedgebase.ddek.s(Unknown Source) at com.ddtek.jdbc.openedgebase.ddek.execute(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:330) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:131) ... 11 more

Googling didn't help at all, since every page expects me to be reading data, but I'm actually adding them. Also, I'm not adding text, just numbers.

I tried same steps in DBeaver 23.1.2, SQLEXP (included in OE Progress) and OE Studio. Same results.

I also can't get to work more complex trigger logic with imports from Java, etc. But honestly, right now I would be happy just with this.

Can someone help me, please?

Thanks!

P.S.: Using another database system isn't an option, unfortunately.

Continue reading...
 
Status
Not open for further replies.
Top