If you’re not sure if you have the connector and client library installed properly, and haven’t already done so, start with RUN SQL:SQLTEST1 as described in Sample Programs, Headers, Utilities. Following is a list of errors produced by that program, and tips on how you can fix the problem(s).
u Unable to load library LIBASHxxxxxx.DLL
The ASQL connector is not in the path. If you haven’t obtained it yet, download it from the ASQL folder on our server. Then verify that it was saved into the same directory where you are launching A-Shell from (e.g. %MIAME%\bin). If this was previously working and stopped working after an A-Shell update, it may be that you were using a very early version in which the name of the MySQL connector for Windows was ASHMYSQL.DLL. We changed that in 1.1.110 so that the Windows and Linux filenames for the connector were consistent. (Under Linux, it is standard practice for the name of any library to start with LIB.) If you have an ASHMYSQL.DLL file in your A-Shell bin directory, you can safely remove it. |
u Application failed to start because LIBMYSQL.DLL was not found
The ASQL connector (LIBASHMYSQL.DLL) was located, but the MySQL client library was not in the PATH. If you installed MySQL and can run it from the MySQL command line interface, then it is probably just the case that its bin directory is not in the PATH. If you didn’t install MySQL on this machine, but were planning to just connect to a database on another machine, you may simply have failed to install the MySQL client library. Or, it is possible that you have a version of the MySQL client library that isn’t compatible with the A-Shell/MySQL connector. In any case, start by searching your computer for LIBMYSQL.DLL. If you find it, copy it to A-Shell’s bin directory and try again. If you didn’t find it, or that didn’t work, then download and extract into A-Shell’s bin directory the zipped copy of LIBMYSQL.DLL found in the ASQL folder on our server. |
u libashmysql.so.1: cannot open shared object file
You are missing, or don’t have access or privileges to, the symbolic link to the ASQL connector under Linux. The link should be named /usr/lib/libashmysql.so.1 and point to the actual connector which will be named libashmysql.so.#.#.###{.el?}, where #.#.### is the version number and el? may be an extension of el5, el6, or el7 to indicate the RHEL/CentOS major release number); for example libashmysql.so.1.4.143.el7. The actual file is usually stored in the $MIAME/bin directory. Obviously you can’t create the link if you don’t have the connector, in which case start by downloading the connector from the ASQL folder on our server. Then create the link with something like the following commands, adjusted for the version and path: $ sudo ln –s /vm/miame/bin/libashmysql.so.1.4.143.el7 /usr/lib/libashmysql.so.1 You may also get this error if one or more of the dependencies required by the ASQL connector are unable to be located. To test this, use the Linux ldd command: $ ldd /vm/miame/bin/libashmysql.1.4.143.el7 linux-gate.so.1 => (0xf7716000) libc.so.6 => /lib/libc.so.6 (0xf7524000) libmysqlclient.so.20 => /usr/lib/mysql/libmysqlclient.so.20 (0xf7126000) /lib/ld-linux.so.2 (0xf7717000) libpthread.so.0 => /lib/libpthread.so.0 (0xf710b000) libdl.so.2 => /lib/libdl.so.2 (0xf7106000) librt.so.1 => /lib/librt.so.1 (0xf70fc000) libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7010000) libm.so.6 => /lib/libm.so.6 (0xf6fce000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf6fb3000)
If any of the dependent libraries are missing, they will show up in the list with an explicit error message. The most likely missing module would be the libmysqlclient.so.##, in which case you need to install the MySQL client library. Consult the MySQL web site for the latest downloads, or you may be able to use the following yum command: $ sudo yum install mysql-community-libs.i686 |
u libmysqlclient.so.##: cannot open shared object file
You are missing the MySQL shared client library. Probably the best solution for that is to go to the MySQL web site and download the “Shared Library” package appropriate for your Linux version and install it. An independent way to test whether you’ve accomplished that is to see whether you can run the MySQL command line interface (by executing mysql from the shell prompt). Once installed, you should have something like this in your /usr/lib directory: # ls –l /usr/lib/libmy* lrwxrwxrwx 1 root root 24 Feb 22 17:39 /usr/lib/libmysqlclient.so -> libmysqlclient.so.16.0.0 lrwxrwxrwx 1 root root 24 Feb 22 17:39 /usr/lib/libmysqlclient.so.16 -> libmysqlclient.so.16.0.0 -rwxr-xr-x 1 root root 1900872 Jan 20 23:18 /usr/lib/libmysqlclient.so.16.0.0 |
u libmyodbc5.so: cannot open shared object file
You are missing the MySQL ODBC shared client library for Linux. Assuming you really do want to use the MySQL ODBC connector instead of the native connector, you’ll probably need to download it from the MySQL website (last seen at http://dev.mysql.com/downloads/connector/odbc/5.1.html). Since it comes in an RPM package, you can just install it like any other package, which should put the library module into the /usr/lib directory. An independent way to test whether you’ve accomplished that is to see whether you can run the isql command line interface from the shell prompt. Once installed, you should have something like this in your /usr/lib directory: # ls –l /usr/lib/libmyodbc* -rwxr-xr-x 1 root root 2033468 Aug 18 2008 /usr/lib/libmyodbc5-5.1.5.so -rwxr-xr-x 1 root root 1026 Aug 18 2008 /usr/lib/libmyodbc5.la lrwxrwxrwx 1 root root 19 Apr 24 17:39 /usr/lib/libmyodbc.so -> libmyodbc5-5.1.5.so |
u Connector version too old to support SQLINFO_CONxxx
The test program SQLTEST1 will report this message if it succeeds in loading the connector and client library but gets an error when trying to query the connector’s ID, version, or description. These functions were added to the 1.1.110 version of the connector, which means you probably have an older version. The functions are not critical, so you may be able to use the connector you have, at least in the short term, but obviously an update is recommended. Visit the ASQL folder on our server. |
u Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
This error may occur when trying to use the MySQL ODBC connector to connect to a database server on the local machine, and probably indicates a mismatch between the default simulated socket file in the connector and in the database. If the file /var/lib/mysql/mysql.sock exists, then a reasonable workaround is to create a symbolic link /tmp/mysql.sock which points to the other file: # cd /tmp # ln –s /var/lib/mysql/mysql.sock mysql.sock Then stop and restart the server: # cd /var/lib/mysql # ./mysql.server stop # ./mysql.server start |