We are seeing more customers wanting to connect to their MAS 90 data and in doing so they are creating .net application or PHP applications that read ODBC. We already addressed how to do this in a previous article with .net. This article will assist in a few common issues when trying to connect PHP to MAS 90. We will not cover the PHP code to create the DSN or connect to ODBC. Instead we will address an issue when you try to connect that says "Table is not accessible, SQL state S0000 in SQLExecDirect".
When an error shows "Table is not accessible" the first thing that should come to mind is path and permissions. Here are the things you should first look at to see if your connection to MAS 90 should work. This is for version 4.x or greater.
- It is best to use your own system ODBC DSN. If you use the SOTAMAS90 DSN, the settings can be changed when a user on the machine logs into MAS 90. To make sure that the DSN path doesn't change, a system DSN should be created (you may also create the DSN string in your PHP, either way works).
- Make sure that the path in the DSN is correct.
If you are using a Mapped drive in the path for DDF it will give you the error noted in this article.
- When running apache as a service it usually installs with the log on as set to local system account. If you are still having issues accessing the ODBC for MAS 90 it could be that the user running the PHP query does not have the correct permissions. In this case, change the log on as to an account that has permissions to read execute and write to the MAS 90 directory.
These are the most common reasons for your connection not to work from PHP to MAS 90. One thing to remember about the ODBC driver for MAS 90 is that it is read only. We have tested in the past using the read write ODBC driver with ProvideX and it had serious data corruption and issues that made it unreliable. Therefore we do not recommend using this driver to write back. If you need to write back to MAS 90 some options are:
- Use VI to import a CSV file exported from your system on a schedule basis
- Use Web Services 4.4 or greater. Web services are not for all modules or functions.
- Use Business Objects in MAS 90 to write back (you can also use this to read data). You are limited to the objects function.
- Have a Master Developer create an interface.
MBA Business Software is here to help if you need a Master Developer create an interface to your system or website. We have worked with different application and web site developers to create links to MAS 90 data. Call us today to find out what we can do for you.