Q: I've created SuperMap iPortal's system administrator account, then I changed to use MySQL database, not using the default SQLite anymore, but when I perform operations like registering serivces, creating maps, the console prompts "Can not add or update a child row: a foreign key constraint fails ... "

A: Because the iPortal lost the user information in the user_infos table stored in the original SQLite database. You need to synchronize the user information in iportal.db under [SuperMap iPortal_HOME]\webapps\iportal\WEB-INF\iportaldata to the MySQL database. The specific operation is: add the record of the iPortal administrator into user_infos table in MySQL database, if the name of the administrator account is "admin", then the SQL statement is:

insert into user_infos(name, nickname) values("admin", "admin");

(For SuperMap iPortal 8C SP1 or previous versions, you also need to ensure that the servicerooturls table in MySQL database is empty, if there is a record, you need to delete), and then restart the iPortal service.

It is important to note that if you have created maps, registered services, etc., you need to synchronize all portal data in iportal.db to keep the previous portal data when you switch to the MySQL database.

20 Sept,2019

More iPortal FAQ