Question

I am writing for advice on whether solution you recommend to choose.

Here is in a nutshell what I have:

  1. Axapta databse on MS SQL Server 2008 R2.
  2. Several SQL queries using the data of the database through PHP web application.
  3. Webserver, which is running web application.
  4. No administrator privileges on the Axapta databse (only SELECT permission).
  5. Rights to write and modify on the webserver with MySQL database.
  6. Light computer with Windows OS permanently working on the network. On this light computer I have admin rights.

Here's what I want to achieve :

  1. Creating replication (exact copy) of few (10) tables on the webserver as another database, which will sync up as often as possible with Axapta database .
  2. Adding some dictionary tables and views for the new database (to be able to insert the dictionary to earlier SQL queries) .

For now, I came up with this solutions:

  1. I tried to add 'replace' and 'case when' to SQL queries on the Axapta database, without any other additional databases. However, with these new large dictionaries, query performance was poor and waiting for the results drived me crazy ;)
  2. The only thing I could do is a manual export via ODBC to a MySQL webserver database. Is there a free program to automate this process? I mean eg. hourly update data from Axapta MSSQL database to webserver MySQL database (with help of this light computer which I mentioned before)?

Please let me know if you see any other possibilities to expand utlility of webapplication which uses Axapta database.

Was it helpful?

Solution 2

At last I found a powerful solution, and reccomend it to everyone who has similar issue. PDI -Pentaho Data Integration (Community Edition) is a perfect way to do the dictionary transformations I mentioned above. It could even read from .xls or .txt files. You could get it from the link below, and don't forget to be active developer community member. http://community.pentaho.com/projects/data-integration/

OTHER TIPS

I don't know if there are some SQL sync agent from MSSQLServer to MySQL. If you are writing your own tool, you can try to get your diff by yourself:

  • delete MySQL records where the RecId is not available in MSSQLServer anymore
  • insert new records for MSSQLServer records with unknown RecId
  • update records when ModifiedDateTime is greater than your last sync
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top