Constant Error storing tag history data - Connector/J Issue?

Specified historical sink 'DB' does not exist
java.lang.IllegalArgumentException: Specified historical sink 'DB' does not exist.
at com.inductiveautomation.ignition.gateway.history.HistoryManagerImpl.storeHistory(HistoryManagerImpl.java:166)

at com.inductiveautomation.gateway.tags.history.actor.HistoryActorFactory$DelayedEvaluationContainer.process(HistoryActorFactory.java:887)

at com.inductiveautomation.gateway.tags.history.actor.HistoryActorFactory$DelayedEvaluationContainer.run(HistoryActorFactory.java:848)

My Gateway is running 8.0.5.
I'm running a MySQL database on version 8.0.18
I've tried connecting with Connector/J version 8.0.18, and also tried using version 5.1.48.
Both continue to cause the error.
I've tried reading this thread: Specified historical sink 'DB' does not exist
But didn't get anywhere with it.

I've tried uninstalling and reinstalling both Ignition and MySQL a couple times to no avail.

jdbc:mysql://localhost:3306/core?characterEncoding=latin1
I also have to include this optional parameter or the database connection Faults and throws a separate error.

Cannot create PoolableConnectionFactory (Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.)

Disclaimer: I am using this gateway to complete my Core certification. Though, this issue seems like it is more of a "something isn't functioning as expected" instead of a "I didn't set it up right".

Am I actually just doing something wrong, or have I just broken it at this point?

Ah yes, this happened with my Core certification test too. See, when you use a fresh copy of Ignition 8.0+, it comes with the MariaDB database connector which works with MySQL. The gateway backup the core certification test gives you, for whatever reason, doesn’t have that, and instead has a faulty MySQL connector.

I told one of the engineers here about it and he acknolwedged it was an issue on their end and that he would tell someone to amend the test (guess that did not happen before you downloaded your gateway).

Anyways, you did not do anything wrong, this is an issue with their Core Certification gateway backup. You can do 1 of 2 things - download a MariaDB driver and put it on their gateway to connect to MySQL, I tried this but it didn’t work right the first time and I gave up, so you can also do option 2, much easier - download SQL Server Express, and do the core test with that.

Does the user you set up the database connection with have the permission in mySQL to create tables? Whan you add historical tags into the gateway, Ignition will create the structure in the DB to handle them, sometimes including creating tables. If it could not create the tables, you may be looking at the result.

Good Luck,
Leif

I installed SQL Server Express and ensured the user had proper permissions.
No more errors!
And I can see the data flowing into the database.

Thank you both for your advice!

1 Like

This KB article covers the basic background info and fixes for this problem: https://support.inductiveautomation.com/index.php?/Knowledgebase/Article/View/125/0/connection-errors-when-configuring-mysql-80-database-in-ignition

You’re seeing this in the Certification test because we’ve upgraded the backup from 7.9, rather than using a fresh install, which will carry over the existing JDBC drivers and configurations, rather than creating the MariaDB one that is created on fresh installs of Ignition 8. However, there are a couple reasons this isn’t something we intend to fix:

  1. The troubleshooting section does not make use of a database connection, and you are welcome to install a fresh copy of Ignition for the Design and Implementation portion of the test.
  2. Ultimately, understanding the JDBC nuances behind that KB article I linked above is worth spending some time on. Creating and managing JDBC drivers is a valuable thing to know how to do.
  3. We think more people are liable to upgrade existing 7.x gateways to 8, rather than starting fresh development projects, and at times we purposefully include Ignition upgrade quirks in the test.

As always, you can reach out to training with any questions or concerns about your test.