://www.cjntech.co.nz/Support/InformixConnectionProblems.htm
This page contains a list of known Informix Database Connection issues. The section on Setting up TCP/IP may also be useful. If you can't find what you're looking for, feel free to contact us.
Quick Links to sections below:
Cannot load an IDAPI service library
Cannot locate sqlexec service/tcp service in /etc/services file
Error connecting to "....."
Client host or user (fred @ fred_cpu) is not trusted by the database server
Cannot open file 'sql.iem'
Unable to load locale categories
Informix-Online and -908
Attempt to connect to database server (xxx) failed
Could not find object
Database not found or no system permissions
Cannot Read IPASSWORD File
Error Creating a Temporary Table for Storing Error Messages
Internal communications buffer management error detected
Still having problems?
Cannot load an IDAPI service library
This generally indicates that the PATH environment variable is not set correctly.
In Windows 95 and 98 this is set in the file C:/AUTOEXEC.BAT. To edit this file run Windows Explorer, right click on the file and choose Edit. Make sure that at the end of the file the following two lines exist.
set INFORMIXDIR=C:/INFORMIX
set PATH=%INFORMIXDIR%/BIN;%PATH%
Please note that there should be no spaces either side of the "=" character.
In Windows NT this is set in the Control Panel, System, Environment tab.
It could also indicate that the file C:/WINDOWS/SYSTEM/WSOCK32.DLL does not exist. If this file does exist on your computer but in a different location, you should either place this location in the PATH variable or copying the WSOCK32.DLL to the C:/WINDOWS/SYSTEM directory.
Cannot locate sqlexec service/tcp service in /etc/services file
This error indicates that the file C:/WINDOWS/SERVICES has not been set up correctly. It is likely that all you need to do is add the following lines at the end of this file:
sqlexec 1525/tcp
sqlturbo 1526/tcp
If this does not solve the problem then read the section The SERVICES file below.
Error connecting to "....."
RAMM for Windows usually takes quite a long time before it brings up this message and it indicates that the HOSTS file has not been setup correctly. This file is usually in C:/WINDOWS/HOSTS. You should read the The HOSTS file section below.
Client host or user (fred @ fred_cpu) is not trusted by the database server
The client computer (fred_cpu) or your user id (fred) is not considered trusted by the desired database server. Ask the system administrator to include the client computer as a trusted host and/or your user id as a trusted user in the /etc/hosts.equiv file on the server computer or in the .rhosts file in your home directory on the server computer. See the UNIX manual pages regarding HOSTS.EQUIV(5) for more information.
Cannot open file 'sql.iem'
This error occurs when Informix-Connect has not been installed yet or you are not logged on as the person who installed Informix-Connect originally. To install Informix-Connect on Windows 2000 you should read Installing RAMM on Windows 2000. To install Informix-Connect on Windows 95/98 where many users are accessing the same machine, it is important that the person who installs Informix-Connect successfully connects to a RAMM database so that certain environment variables are stored for later use by other users.
Unable to load locale categories
Check if INFORMIXDIR points to a valid directory where Informix products are installed. It may pay to re-install Informix-Connect again making sure that Informix is installed in the directory INFORMIXDIR (AUTOEXEC.BAT) points to.
This could also mean that INFORMIXDIR has not been set correctly if you used SETNET32.EXE. I suggest that you use SETNET32.EXE and unset the variable INFORMIXDIR.
Informix-Online and -908
This error message occurs when you are running Informix Online and the name of the server (typically the machine name with an _on at the end e.g. wdcramm_on) is not set at the Unix end. Find what the name is, login as root and run onmonitor. Choose Parameter, Shared-memory and enter the server name in the Server Aliases field if it is not already there. You will be asked to shutdown the engine. Do so then bring it back up again. Try RAMM for Windows to check whether the error message has gone.
Attempt to connect to database server (xxx) failed
Check that the sqlexec entry in the Unix /etc/services file and the PC’s C:/WINDOWS/SERVICES file have exactly the same number. I suggest that you read the Setting up TCP/IP section below and in particular the SERVICES file section within that.
Could not find object
This problem occurs because the machine you are installing on has an incorrect or obsolete version of the Borland Database Engine (BDE) already present. This can be corrected by downloading the BDE correction program, running it, and reinstalling RAMM for Windows.
Database not found or no system permissions
There are a number of reasons this problem could occur. If you are using Informix-Personal Edition or Informix-Dynamic Server then check that the name of the database is correct.
If you are using Informix-SE for Unix then check that the directory name is correct and that the name of the database is also correct. Make sure that the directory path contains "/" and not "/". e.g. "/usr/roads". Also make sure that the directory name has a slash at the beginning of it e.g. NOT "usr/roads" but "/usr/roads". Also make sure that the database name does not have any "/" characters in it. To check that the database and directory names are correct you can run a little test on the Unix machine by logging in as you normally do and type in "dbaccess /usr/roads/road" where "/usr/roads" is the directory name and "road" is the database name. This should start up dbaccess and connect to the database. Any error messages should be noted and please ring CJN Technologies with them.
If you are still having problems then it may be the permission's of your home directory or it's parent directories. It is important that each directory in your home directory path has execute permission for the owner, group and everyone else. If you login as 'cam' and your home directory is '/usr/users/cam' then the following commands will set the correct permission's for each of the directories. Make sure that you are logged in as root when running these commands.
chmod a+x /
chmod a+x /usr
chmod a+x /usr/users
chmod u+x /usr/users/cam
Cannot Read IPASSWORD File
This will only occur if you are using Informix-SE for Windows or Informix-Personal Edition for Windows and will occur when you have not set up an administrator or any users within Informix. Run the program IPASSWD within the Informixprogram group to add an administrator or user.
Error Creating a Temporary Table for Storing Error Messages
This will only occur if you are using Informix-SE for Windows. It indicates that the directory Informix requires to store temporary files does not exist. We strongly recommend that you do not set the environment variable DBTEMP in the C:/AUTOEXEC.BAT file or within the Informix SETNET32 program.
Internal communications buffer management error detected
The first thing you should do is choose Database, Maintain List from within one of the RAMM programs. Choose the database you are getting this error message on then press the Update button. Without doing anything else you should choose the OK button. Test the connection again by choosing the Connect button. If the same error message occurs then it may be the computer name. Follow the instructions below for this.
This error may also occur when the name of your computer has spaces or an underscore "_" in it. Check for this by choosing Start, Settings, Control Panel, Network and choose the Identification tab. It is suggested that the Computer name field has only characters and numbers in it. Once you have changed the name to be something else and rebooted the computer you will need to go through the procedure outlined in the paragraph above. If the error still occurs, ring CJN Technologies Ltd.
Still having problems?
If you are still having problems then it may pay to follow the instructions below and fax (09-4154791) or email the results to CJN Technologies along with the specific error message you are getting from RAMM for Windows.
Results of the SET command
Start up an MS-DOS prompt (choose Start, Programs, MS-DOS Prompt) and run the command: SET > C:/SET.TXT
Exit the DOS prompt open the file C:/SET.TXT and print it. This can be done with either Notepad or Wordpad.
Windows 95 Registry values
Run the program REGEDIT (choose Start, Run, enter REGEDIT in the Open field and press OK). Click on the plus box for HKEY_LOCAL_MACHINE and SOFTWARE. Open the folder CJN Technologies and choose the menu Registry, Print and check the Selected branch radio button and OK.
Do the same for the following:
HKEY_LOCAL_MACHINE, SOFTWARE, INFORMIX
HKEY_CURRENT_USER, SOFTWARE, INFORMIX
Send the results
You should now have 4 printouts. Please fax (09-4154791) or email these along with the error message to CJN Technologies.
Setting up TCP/IP
This section assumes you are using Microsoft TCP/IP software on Windows 95.
There are two files to setup before you can use RAMM for Windows to connect to your Informix database on your Unix machine. These are the HOSTS and SERVICES files:
In Windows 95 these are in the windows directory (usually C:/WINDOWS).
In Windows-NT they are found in (C:/WINNT/SYSTEM32/DRIVERS/ETC).
The HOSTS File
The HOSTS file is used by Informix-Connect to work out the IP address (i.e. 201.0.0.1) of the computer which has the RAMM database on it. This file contains a list of all known computers and their respective IP addresses. For an example HOSTS file see the end of this document.
The HOSTS file is not necessary if you have DNS (Dynamic Name Service) running on your Windows PC or you are using DCHP on Windows-NT. DNS allows your Windows PC to ask a machine on the network what the IP address is rather than look in its own HOSTS file. This allows your network administrator to look after only one HOSTS file rather than one for each computer. To find out whether your PC uses DNS you should either look in (Windows 95 only) the Control Panel, Network, TCP/IP Properties, DNS Configuration or ask your network administrator.
If you do need to set up a HOSTS file then we must find the name of your Unix computer and its IP address. If you do not know this then login to the Unix machine as root and run the command uname. This will tell you the name of the computer which is then used in the command ping to tell you the IP address of your Unix machine. An example Unix session would be as follows and the commands are shown in bold:
# uname -n uname -n
cjntech
# ping -c 3 cjntech ping -c 3 cjntech
PING cjntech (201.0.0.1): 56 data bytes
64 bytes from localhost (201.0.0.1): icmp_seq=0 ttl=255 time=0 ms
64 bytes from localhost (201.0.0.1): icmp_seq=1 ttl=255 time=0 ms
64 bytes from localhost (201.0.0.1): icmp_seq=2 ttl=255 time=0 ms
--- cjntech ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0/0/0 ms
#
This tells us that the Unix machine is called cjntech with an IP address of 201.0.0.1
We must then create an entry in the HOSTS file on your Windows PC which looks something like this:
201.0.0.1 cjntech
If you want to test whether your Windows PC can see your Unix machine then run the following commands in an MS-DOS session on your Windows PC:
C:/WINDOWS>ping cjntech
The SERVICES File
The SERVICES file is used by Informix-Connect to determine the service name and number to use. The service name and number on your PC should be the same service name and number used on your RAMM computer. The name and number you place in the SERVICES file on your Windows PC in dictated by the contents of the file /etc/services on your RAMM computer. Look in the /etc/services file and if this has either an entry for sqlexec or sqlturbo then place the exact same line(s) in your Windows PC SERVICES file:
sqlexec 1525/tcp
sqlturbo 1526/tcp
For an example SERVICES file see the end of this document.
If your RAMM computer does not have either entries then this is likely to mean that you have not installed Informix 7.x on your Unix machine. If you pay CJN Technologies an annual Informix maintenance fee then you should have already received an Informix upgrade for Informix 7.x (July - August 1997). There are instructions in this that enable you to automatically set up the various files required by RAMM for Windows and Informix. Contact Campbell Newman at CJN Technologies if you have not received this upgrade.
Example HOSTS File
# Copyright (c) 1993-1995 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows NT.
#
# This file contains the mapping of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
201.0.0.2 ntserver
201.0.0.1 cjntech
201.0.0.5 carl
201.0.0.6 jeremy
201.0.0.7 matthew
201.0.0.9 carl2
201.0.0.12 david
Example SERVICES File
# Copyright (c) 1993-1995 Microsoft Corp.
#
# This file contains port numbers for well-known services as defined by
# RFC 1060 (Assigned Numbers).
#
# Format:
#
# <service name> <port number>/<protocol> [aliases...] [#<comment>]
#echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
qotd 17/udp quote
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
telnet 23/tcp
smtp 25/tcp mail
…
…
…
… etc.
qmaster 10012/udp
gds_db 3050/tcp
sqlexec 1525/tcp # Informix-SE
sqlturbo 1526/tcp # INFORMIX-Online