We help IT Professionals succeed at work.

Q. about setting up the IBM Client SDK for Windows Server 2003

moosetracker asked
Last Modified: 2013-12-24
I was working with rrjegan17, and closed out the question, but have more questions.. But anyone is welcomed to help.

I am trying to add an entry to the services file.. But the document is sort of vague.  is states Windows 95/98 uses c:\windows\services. and Windows NT/2k/xp uses  c:\winnt\system32\drivers\etc\services.. I have Windows server 2003..  I was unsure if services was a folder or a file with no extension.. But this Windows version does not have a winnt..  i found the following

c:\windows\system32\driver\etc\services.    where services is a file with no extension.. This is kindof a cross between the winnt  & the Windows example.. Do I have the right one?

second..  I don't have the port number.. And may have to beg, plead and find a nice person at the vendors site who would be willing to give me the port# on their side..
I was hopeful either my way to read an informix ODBC already installed

or the following rrjegan17 gave me.. Was a command to extract the info from the database..

On Windows, INFORMIXSQLHOSTS points to the computer whose registry contains the SQLHOSTS subkey.

The next example specifies that the client or database server look for connectivity information on a computer named arizona:

set INFORMIXSQLHOSTS = \\arizona    

But I found other sites talking about Informixsqlhosts, and it sounds more like you pointing you connection to something other then the default with this command.. Will it give me info on the host server?  Is this something to run on the command line of Windows (or else where)?
Watch Question


actually I guess flutophilus  came with alot of help too, but it was after the points were awarded.. So if he/she is around, they have chance to get much deserved brownie points here..
First - It sounds like you have found the correct services file on your server. It is a file with no extension. All it does is to correlate a name with a port number - the name can be anything you like. Then you use this name, the service name when you set up your windos client side using setnet32.

Second - The important thing is that the port number correlates to the port number of the server instance that you are trying to connect to on the host - and that is held in the hosts sqlhost file. Without that you're in trouble. You'll also need the instance name that is associated with a tcp connection, that is also stored in sqlhosts (Often sqlhosts will contain one instance using shared memory (ipcshm) for local connection and another using tcp/ip (onsoctcp) for network connection, they may have different names but point to the same physical instance - one is said to be an alias of he other)

Third - I think the INFORMIXSQLHOSTS environment variable is not needed as long as you have the services file on the same computer in the default location - I've never come across it. As you say it looks like it's used to redirect to a services file on another server but you have no need to do that.

Your challenge is to get the tcp/ip instance name and the service port number !

Following up - ask your vendor for a connection string - we may be able to dissect that. They should be happy to gice you read-only access (which would be based on your login and password).


I'm in the UK so finishing for the day.


Oh wow..
Anyway.. When you get back.. I found the port, because I looked on the Services on my desktop that has a working ODBC.. and the ODBC showed a service name of sqlexec.. So I though whats good for the server should be the same for the desktop.. And wha..la!!!

sqlexec          1234/tcp                           # Informix

(the port# have been changed in this example to protect the data) So I plugged that info into my Windows Server 2003 services..

But this thing is going to fight me all the way!!!

Now onto this Setnet32.. (I changed some info to protect the data)

IBM Informix Server :  sqlexec
HostName : NameOfMYHost
protocolname onsoctcp
ServiceName: sqlexec

I hit accept and I get this message:  "IBM Informix Server has not been set. Save anyway?"

This message wasn't in the example.. So I take it I should not see it.. Any idea what it is complaining about?


I (think) I got all the Above info organized. At least I can successfully create an ODBC connection through the ODBC connection in Admin.. And in SQL a linked server for the ODBC.. But I am not successful with the OLEDB

The successful  ODBC is thru "Microsoft OLEDB provider for ODBC drivers"
and the successful provider string is this:
Driver = {IBM INFORMIX ODBC DRIVER}; DSN=AdPower1;DB=myDB;HOST=MYHOST;SERV=sqlexec;SRVR=ads1;PRO=onsoctcp

(UID & Password set up under the securities tab)

So with OLEDB I tried the following with no success.
Provider: IBM Informix Ole DB Provider
ProductName: AnythingIWant
DataSource: ads1
Provider String: DB=myDB; HOST=MYHOST; SERV=sqlexec; PRO=onsoctcp;

(again UID/password is set in Security tab)
The Datasource I decided to put in based on it saying it was either the Server or the file name.. this is the servername.
The error is : "Database not found or no system permissions"

the database name is a copy and paste from the same source that the OLEDB was copy and pasted from to create it's provider line.

Is it maybe not set as DB=   ? But maybe Database= or something else?
Does it not like UID & pswd in the Secuities tab???
Any help would be appreciated..
This one is on us!
(Get your first solution completely free - no credit card required)


Well the OLEDB is still giving me grief.. But you got me to the connection for ODBC, and well deserve your brownie points..

I will start a new question to see if anyother informix people have dealt with the OLEDB setup..


An update on the last piece of the puzzle..
This works:

Provider : IBM Informix OLEDB Provider
ProductName: MyServerName  
DataSource: MyDatabaseName
ProviderString: Persist Security Info=true

and UID/pswd under the securities tab..

Weird it doesn't need host or information from the service.

I just moved & switched things all around in desperation. And something finally took..!!!

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.