Author Topic: EA15.1 - Cannot transfer project from file to MySQL  (Read 3987 times)

jepessen

  • EA User
  • **
  • Posts: 105
  • Karma: +1/-1
    • View Profile
EA15.1 - Cannot transfer project from file to MySQL
« on: June 30, 2020, 01:38:07 am »
I'm trying to transfer a .eapx project to a mysql server.
I've created the schema by using the script that I can found at https://sparxsystems.com/resources/repositories/index.html#data_script_mysql and then I've started the migration. EA tells me

The user does not have permission to perform a Project Transfer to a MySQL repository...
The user must have ALTER and DROP privileges on all tables that have an AUTO_INCREMENT column.



I'm using the same connection data that worked like a charm in EA version 13 that I had before. The test connection button tells that connection is ok.



I'm using the eauser user for mysql database, that were the same used in other dbms repositoried in EA13.



What should I change in order to created a shared repository from a EAPX?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 12914
  • Karma: +537/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #1 on: June 30, 2020, 01:53:41 am »
Some tips:

- run a project integrity check before transferring
- try with a new empty model
- check all the ODBC details. EA is very specific with regards to version and settings of the MySQL ODBC connection.

Geert

jepessen

  • EA User
  • **
  • Posts: 105
  • Karma: +1/-1
    • View Profile
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #2 on: June 30, 2020, 02:00:34 am »
Integrity check is ok.
I've the same issue with an empty model
ODBC details are the same that I've used with EA13 and they worked in that case. I'm testing with a local mysql client and I can modify the database.

jepessen

  • EA User
  • **
  • Posts: 105
  • Karma: +1/-1
    • View Profile
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #3 on: June 30, 2020, 02:19:08 am »
I've just tried to copy and paste packages from the local project to the remote one, by having two instances of EA opened, one with the local project and one with the remote one. By doing this way data are copied in remoted repository, so I suppose that connection parameters are ok.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8005
  • Karma: +115/-20
    • View Profile
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #4 on: June 30, 2020, 09:37:39 am »
At a guess, older versions of EA just tried. If they failed you would get a database error.

Sounds like a check has been added to be nicer, but for whatever reason in your situation it fails.

jepessen

  • EA User
  • **
  • Posts: 105
  • Karma: +1/-1
    • View Profile
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #5 on: June 30, 2020, 03:58:35 pm »
The fact is that I've checked and my database user has requested permissions, as you can see in MySQL Workbench user page screenshot.

steverumsby

  • EA User
  • **
  • Posts: 27
  • Karma: +3/-0
    • View Profile
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #6 on: May 11, 2022, 08:06:51 pm »
Did you ever find a solution for this? I'm having the same problem. Brand new MariaDB database with the scheme imported, user with all privileges and the same error message:

Quote
The user does not have permission to perform a Project Transfer to a MySQL repository...
The user must have ALTER and DROP privileges on all tables that have an AUTO_INCREMENT column.

Thanks,
Steve.

Guillaume

  • EA Practitioner
  • ***
  • Posts: 1317
  • Karma: +42/-2
    • View Profile
    • www.umlchannel.com
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #7 on: June 30, 2022, 07:25:42 pm »
Same here, I'm migrating EA DBs to a new MySQL server 8. For some odd reasons, the permissions of the MySQL user are not recognised.
I ran "GRANT SELECT,INSERT,UPDATE,DELETE,ALTER,DROP,EXECUTE,SHOW VIEW ON *.* TO 'ea'@'%';"  followed by FLUSH PRIVILEGES; but it didn't change anything, I'm still getting the following error.

Quote
The user does not have permission to perform a Project Transfer to a MySQL repository...
The user must have ALTER and DROP privileges on all tables that have an AUTO_INCREMENT column.

It works when I use the root user account.
Other issue : for some projects, I get an Internal Application error when opening it in EA via ODBC (MySQL drive 5.3.4) from an EA client (works when EA is executed on the server itself).
Looking at DBError.txt, I get a 'There is no active transaction' error.

« Last Edit: June 30, 2022, 07:49:42 pm by Guillaume »
Guillaume

Blog: www.umlchannel.com | Free utilities addin: www.eautils.com


blaisephilip

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: EA15.1 - Cannot transfer project from file to MySQL
« Reply #8 on: August 26, 2022, 06:17:47 am »
I've found a solution without using the root user.
I'm using XAMPP & phpMyAdmin to handle MySQL DBs.
Even with granted admin rights for a user, the project transfer will fail - late versions of EA V15 and also V16 has this issue, when transfering from .QEA to DBM. (EAPX->QEA as intermediate transfer is definitely recommended, I've had issues with transfer attempts without .QEA as source format in the past)
So, the patch:
1. Go to phpMyAdmin on the server http://localhost/phpmyadmin/index.php?route=/
2. Select the created empty DB (after applying the current schema (EASchema_1558_MySQL.sql) and initializing the tables (EABase_1558_MySQL.sql))
3. Select User Rights
4. Select the User you intend to use with user/pass in the transfer (QEA->DBM) session
The "Change Rights" site has 4 tabs: Global, Database, Change Password, Login
Choose Database.
5. On this tab, you find a dropdown list where additional rights can be given for this user. (although one would assume that it is sufficient that is already configured, but its not...)
From the dropdown list, select the prepared empty database. It will add a row in the Database-specific rights section in this tab.
"ALL PRIVILEGES" are needed for this entry.
6. At this point, you shall switch to EA and attempt the project transfer with the user account. It shall succeed.
7. If you check again the user permissions in phpMyAdmin, the specific user received a Database-specific placeholder in the user overview. This can be removed after the successful model transfer, it was only necessary to unblock the transfer mechanism. (All other operations worked for me after removing the placeholder.)