Missing table in persistence service

6 posts / 0 new
Last post
Offline
Last seen: 2 years 2 weeks ago
Joined: 12/08/2021
Posts: 3
Missing table in persistence service

I am trying to run the rti persistence service through the command line but I am getting an OBDC error claiming a table doesn't exist. The error is below and I have attached my persistence config file incase that is at fault.

I have also tried starting the persistence service through the rti launcher but encounter the same error

 

-ritpersistenceservice -cfgFile persistence_service_config -cfgName persistence_service_database
Mx17:C:\jenkins\workspace\connextdds\6.1.0.0\x64Win64VS2012\src\persistence.1.0\srcC\cfgManager\DatabaseManager.c:1976:RTI0x217300d:ODBC error: [MySQL][ODBC 8.0(a) Driver][mysqld-8.0.28]Table 'test.persistence_group_info' doesn't exist
PERSISTENCEDatabaseManager_new:!init database manager
PERSISTENCEService_initialize:!init database manager
PERSISTENCEService_new:!init persistence service
main:!create persistence service
AttachmentSize
File persistence_service_config.xml1.1 KB
Howard's picture
Offline
Last seen: 1 day 17 hours ago
Joined: 11/29/2012
Posts: 565

Well, it looks like you're configuring Persistence Service to use a different database than the builtin SQLite one via a DSN.

Unfortunately, problems in that situation is likely related to if Persistence Service was actually able to connect to the database (from the error message it seems likely yes) and have permissions to do things with the database like create tables and such.  Unfortunately, can't help you much there. 

Is there a reason not to have Persisence Service just use the builtin SQLite database?  It's likely to be much more performant than MySQL.

Offline
Last seen: 2 years 2 weeks ago
Joined: 12/08/2021
Posts: 3

I have tried to use the default configuration defaultDisk, however when I get an error when I attempt to run that configuration too. I have not changed anything in the default persitnce service xml file either

C:\Program Files\rti_connext_dds-6.1.0\bin\rtipersistenceservice.bat -cfgName defaultDisk -appName testApp

Running the above command gives the following error

TI0x217300d:ODBC error: [SQLite]connect failed
PERSISTENCEDatabaseManager_new:!init database manager
PERSISTENCEService_initialize:!init database manager
PERSISTENCEService_new:!init persistence service
main:!create persistence service

 

Howard's picture
Offline
Last seen: 1 day 17 hours ago
Joined: 11/29/2012
Posts: 565

Not sure what the problem is...perhaps you don't have write permissions into the directory in which Persistence Service is trying to create the database files?

I would create your own Persistence Service XML file, and set a directory that you know your user id has write permissions and try again.   The DefaultDisk configuration doesn't set a directory...which probably means it will try to use the current working directory...which may or maynot be the directory in which you started persistence service.

This is fails, probably best to contact RTI's support team if your project has paid support.

 

Offline
Last seen: 2 years 2 weeks ago
Joined: 12/08/2021
Posts: 3

Thank you very much Howard,

You were exactly right it turns out I didn't have write permissions in the directory I needed and after speaking to my systems administrator and getting the correct permissions it's all up and running now! 

Howard's picture
Offline
Last seen: 1 day 17 hours ago
Joined: 11/29/2012
Posts: 565

Great to hear!