I am setting up a system where the repository will run on MySQL (MySQL 3.23.54,Running on a LINUX box). I see from other threads that the default table in MYSQL needs to be set to INNODB to allow for Servoy to do all of the transation work it requires.
According to MYSQL website, that needs to be done in the my.cnf file.
I stop mysqld and change the file. When I start it back up again, it either does not start, or does not recognize my changes. I think my problem is syntax. What is the propper way to change the default table setting to innodb?
Hi
Nicola Gervasi produced an excellent MySQL ‘HowTo’ article that was published by Servoy Magazine in February - http://www.servoymagazine.com/home/2006 … rvoy_.html - well worth checking out.
Following from Nicola’s article should answer your query
The config file is divided into sessions, the ones you really need to edit are:
The MySQL Server
In this session are stored the main settings for the server, add or uncomment (remove the trailing #s) the following lines:
default-storage-engine=innodb
this will set the InnoDB storage engine as the default engine and is quite useful if sometimes you create a table on the fly from within Servoy Developer. If not specified the storage engine defaults to MyISAM.
default-character-set=utf8
this line sets the default character set to UTF format, I advice to use UTF as default character set, change it only if you know what you’re doing.
log-bin
this turns on the binary logging feature and is needed for InnoDB tables support and useful in case of disaster recovery.
regards
Graham Greensall
Worxinfo Ltd
Thanks Graham! ![Very Happy :D]()
Elyod, you need at least MySQL 4.1 to have InnoDB support and if you want to store the Servoy Repository in MySQL you defintely will want to use InnoDB tables to have transaction support.
According to my boss, we are not able to version up MYSQL at this time.
Is there a work around. Can I manually configure a INNODB table inside a MYSQL database so that Servoy will think it created it?
Nope.
All you can do is keep the Servoy repository on iAnyware and the solution data in MySQL. Obviously you won’t be able to use transactions in your code.
Something is not adding up here. I am running MYSQL 3.23.54a-max.
According to the MYSQL manual it supports innodb and transactions. I have set the default to innodb, and according to phpmyadmin it is set as the default.
I run Servoy to set up the repository and it is still giving me the error saying that it needs a database that supports transactions.
I am currently using innodb tables all over my database. So my question is that if MYSQL says that it supports transactions on 3.23.54a-max where is the problem? Why won’t it work?
You are right, the MYSQL 3.23.54a-max version supports InnoDB. Try to upgrade to the latest stable jdbc driver build to see if the problem get solved.
That did it. I was using an old driver.