|Product:||Syniti Data Replication, DBMoto|
|Summary:||When creating a replication with SQLBase, a compile error occurs. This can be fixed by setting the ANSIJoinSyntax keyword in the sql.ini file.|
I am creating a mirroring replication using SQLBase as a source and I received this error message in Syniti DR/DBMoto when I tried to complete the Replication wizard:
System.Exception: Error adding a new replication to the log reader. ---> Gupta.SQLBase.Data.SQLBaseException:
Failed to compile sql statement: SELECT TG.CREATOR, TG.NAME FROM SYSADM.SYSTRIGGERS TG INNER JOIN SYSADM.SYSTABLES TB ON (TG.TBSNUM = TB.SNUM) WHERE TB.CREATOR = 'BANDT' AND TB.NAME = 'GIORNALE_COMANDO' AND TG.NAME LIKE '_DBM__%'
Additional SQLBase message:
00901 PRS CNE Command not properly ended
Error position: 54
Reason: The end of a SQL statement was unexpectedly determined.
Remedy: Verify that the SQL statement syntax is correct and that the statement was not somehow truncated.
What should I do?
This problem occurs when SQLBase attempts to parse complex SQL commands such as ‘outer’, ‘left’ or ‘join’.
In the SQLBase server's sql.ini file, the keyword ANSIJoinSyntax should be set to 1 so that the parser can recognize the syntax.
However, note that if the keyword checker utility is being used, the ANSIJoinSyntax keyword should be set to 0 to avoid conflicts between the two approaches.