Ignition Gateway Error 600001 When Creating Tag or Folder

We installed Ignition gateway 7.2.7 (b170) and are receiving the following error when creating a new tag or folder in a remote database tag provider (Oracle).

The gateway message is: Gateway Error 600001: Error executing asynchronous task
Details: GatewayException: Gateway Error 60001: Error executing asynchronous task.
caused by SQLSyntaxErrorException: ORA-02289: sequence does not exist
Ignition v7.2.7 (b170)
Java: Sun Microsystems Inc. 1.6.0_22

Additional notes: A record is created for the tag or folder in sqlt_core, but the configchange is NULL. It appears that there is a problem setting the configchange attribute when the tag/folder is created.

Due to the way that Oracle handles auto-incrementing fields (ie, it doesn’t), we have to do some work with sequences in order to create the id of the tag and then retrieve it when inserting. Something must be going wrong there.

There are two possibilities: 1) That the sequence for the table didn’t get created (unlikely) or 2) The query to retrieve the sequence value is failing. This is the most likely scenario.

These queries are defined in the “db translator” for the driver, under Database>Drivers>Translators in the gateway. The default setup looks OK to me, but there is a difference in casing used, and I suppose that could cause a problem.

The sequence that should have been created in your database would be called “sqlt_coreseq”. Using the oracle db admin tool, you should look for that and see if it appears to have been created correctly.

If so, perhaps try running this query from the DB Browser in the designer (that way it goes through Ignition’s connection):

SELECT sqlt_coreseq.CURRVAL FROM DUAL

if that works, try changing the case:

SELECT sqlt_coreSEQ.CURRVAL FROM DUAL

If the first works, but the second doesn’t, go change the “fetch key query” in the oracle db translator to be lower cased.

I guess we’ll start there and see what you find. I’ll look around some more and see if anything jumps out.

Regards,

Thank you for the reply. The sequences did exist, however I did not have the opportunity to follow some of your suggestions. After investigating some more into our “history” of the creation of the tag provider we were unsure of it’s validity. We believe that it may have been created via Oracle DBA copying an instance of another tag provider.

The issue was resolved by:

  1. Backing up existing tags in database (sqlt_core)
  2. Deleting the tag provider through Ignition
  3. Creating a new tag provider
  4. Importing the backup of sqlt_core to the new tag provider

In summary we believe that our creation method of the tag provider was suspect and that recreating and verifying that it was created via Ignition resolved our issue.

Great, glad you got it working.

Regards,

Hello everyone,

I’m having the same issue, the client create the sequense and told me how it calls and everything, I change to lower case the “fetch key query” in the oracle db translator but still doesn’t work.
They try it directly in the oracle query editor and it works perfectly, but from ignition it throws me the error: ORA-02289: sequence does not exist

Anything alese I could try to fix this problem?
Thanks in advanced

If I execute this query: select * from all_sequences from IGNITION doesn’t show me anything, from ORACLE it does, it shows the sequence I’m trying to use. And in Ignition still says that the sequence does not exist.
The instert statement from IGNITION doesn’t work, from ORACLE it does.
I’m running this in Ignition 7.7.6