Legacy Application Modernization: Key Steps, Benefits & Best Practices
This blog post was co-authored with Riaz Merchant, President and CEO at Mertech. In the fast-paced software world, 'legacy' often signals a warning.
Mertech developed a MySQL plugin dll with a set of functions used at runtime to support record locking outside of a transaction. This dll must be installed on the MySQL server and the lock functions must be registered before the application can run properly. Guidelines for troubleshooting installation problems with the plugin are listed below.
NOTE: A more detailed explanation and a description of the mds_app_lock.ini file and lock functions can be found in the BTR2SQL User's Guide.
The following error message displays when you start BTR2SQL and login to MySQL.
BTR2SQL Error | |
The mds_app_lock plugin for MySQL server is not installed. Record locking will be disabled. Record locking is necessary to enforce expected behavior in a multi-user environment. Please see the user manual or contact Support for instructions on installing the mds_app_lock.dll in the MySQL server. |
Cause
The proper version of mds_app_lock.dll is not installed in the MySQL plugin directory.
Solution
Copy the correct version of mds_app_lock.dll to the MySQL plugin directory.
If you are running | Copy | To |
a 32-bit version of MySQL | <Program Files>\Mertech Data Systems\DB Drivers\Btrieve\deploy\mysql\mds_app_lock.dll | <Program Files>\MySQL\ MySQL Server n.n\ lib\plugin |
a 64-bit version of MySQL | <Program Files>\Mertech Data Systems\DB Drivers\Btrieve\deploy\mysql\x64\ mds_app_lock.dll | <Program Files>\MySQL\ MySQL Server n.n\ lib\plugin |
The following error message displays when you attempt to run the script to create the mds lock functions.
Error Code: 1126. Can't open shared library 'mds_app_lock.dll' (errno: 126 The specified module could not be found.)
Cause
The proper version of libmysql.dll is not available on the Windows system path.
NOTE: Installing libmysql.dll in the MySQL plugin directory or in the application directory does not resolve this problem because neither directory is on the Windows system path.
Solution
Copy the version of libmysqll.dll included with your MySQL installation to a location on the system path.
If you are running | Copy | To |
a 32-bit version of MySQL on a 32-bit machine |
<Program Files>\MySQL\MySQL Server n.n\lib\libmysqll.dll | Windows\System32 folder |
a 32-bit version of MySQL on a 64-bit machine |
<Program Files>\MySQL\MySQL Server n.n\lib\libmysqll.dll | Windows\SysWOW64 folder |
a 64-bit version of MySQL on a 64-bit machine |
<Program Files>\MySQL\MySQL Server n.n\lib\libmysqll.dll | Windows\System32 folder |
You encounter other errors running the lock registration script or you experience locking problems when you run your application in a multi-user environment.
Possible Cause
mds_app_lock.ini file missing or incorrect privilege set. Locking functions were not created.
Solution
Edit values in the sample mds_app_lock.ini file (\Mertech Data Systems\DB Drivers\Btrieve\ deploy\mysql) and then save it in the same directory as the mds_app_lock.dll. Rerun the lock registration script (see the BTR2SQL User's Guide).
To obtain additional information, examine the startup trace file mds_app_lock.tra in the %temp% directory.
NOTE: Always use Windows Start | Run "%temp%" to navigate to the temp folder rather than manually going to what you think is the temp folder.
This blog post was co-authored with Riaz Merchant, President and CEO at Mertech. In the fast-paced software world, 'legacy' often signals a warning.
This post was co-authored with Riaz Merchant, President/CEO at Mertech Data Systems, Inc.
Shifting from your traditional legacy systems to the Cloud can be a game changer, as the benefits of cloud migration are numerous. Cloud computing...