A week ago my manager assigned to me a new task: collect some management-level data from an application, which runs here in our organization for several years.
Well, this application is hosted on a SCO OpenServer 5 machine (pretty old, isn't it) and stores its data in an Informix database. And here is where all my problems start! This is the first time I must deal with an Informix database.
My idea is to connect to it through an ODBC driver. So, I downloaded from IBM web site the latest Informix-Connect Client package for Windows 2000/2003 and XP, I installed it (installs the Setnet32 utility v 9.53 2.81.TC3 and IBM INFORMIX 3.82 ODBC driver), read some documentation I found included and on the Internet, too and tried to make a connection to the Informix server.
After several errors, I digged a little bit more, I checked the sqlhosts file on the SCO machine and fixed the \etc\services on my Windows 2000 one. Unfortunately, the same error occurs all the time: "Attempt to connect to database server (...) failed.".
Please, could anyone help me somehow? I am a novice at this field. I do not even know how to find out which is the exact version of the Informix database server, is it an online server or a standard engine? With a little help, some guidelines, I think I can accomplish this. I think that my experience in other Unix systems (mainly AIX) and databases (Oracle, MS SQL Server) is sufficient for this task; I just need some help to roll!
Thank you very much for your immediate response. I am afraid there must be something more complicated with this SCO machine.
There is the "informix" user, from the environment of whom I get the "shared memory not initialized for INFORMIXSERVER 'synt'" error message after the onstat command. However, the users here, log on to this machine with another user named "user2004", the $INFORMIXDIR variable of whom points to a directory other than this of the "informix" user. This directory (of user2004) has much less files than the other one and the onstat command is not available.
I do not know for sure, but does this mean that there are two INFORMIX homes on this machine? One big (i.e. online server) unused and one smaller (let me suppose a standard engine) which is in use by the application. What must I do to find out what's going on here?
For your information, please note that in the $INFORMIXDIR/etc directory of the "user2004" there is no sqlhosts file; there is a sqlfiles one.
Under both directories should be an etc directory. Under there you can find a .snfile which will list the packages installed and their serial numbers. There should also be several *-cr files which will also list the packages and their version numbers.
This should at least tell you what is loaded where and what you are running.
Thank you very much for your input. Unfortunately (for me) you confirmed a fact I've been worrying about: in the etc directory the only –cr file is the ISQL-cr one containing "INFORMIX-SQL Version 2.10.03F Copyright…". If I got that right, does this mean that the only Informix product available in the production Informix home is the i-SQL one? And if this is so, does this mean that there is NO way to establish a connection from a Windows PC to the data of this database?
Log in as the user that can access the database, get to shell prompt and type "env" then log in as Informix and type "env" post both outputs. Will go from there. Looks like you environments are not being set correctly.
So the Informix directory only has ISQL installed in it, but what is installed in that other userid's home directory you discovered?
If you are running SE, I know you can specify a SE entry in the sqlhosts file just can't remember if you can specify a TCP connection to it. I'm going to guess you can't. and that you can only access SE while logged in the server.
Thank you all for your input.
Please let me remind you that the "informix" user is "inactive". The application users log on directly to the SCO machine using the "user2004" account. I believe in its environment there is an Informix SE database.
The "env" outputs you requested are as follows:
So, cpaluch, you say that a "redirection" from a online server service can be made towards an SE database, a TCP connection is however impossible. I am wondering how we can be sure of that, in order to make a final conclusion that my initial goal, that is to establish a connection from a Windows PC to an Informix SE database, cannot be realized.