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
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
Attachment | Size |
---|---|
persistence_service_config.xml | 1.1 KB |
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.
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
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.
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!
Great to hear!