On 5/9/05, Bruce Lysik <[EMAIL PROTECTED]> wrote: > I'm running into a problem trying to build DBD::Informix on a Redhat ES3 > host, with a > database on a Solaris 9 host. > > Client: RedHat ES3, 2.4.21-15.0.4.ELsmp, perl v5.8.0, Informix > clientsdk.2.90.UC1.LINUX installed. Trying to install DBD-Informix-2005.01 > > Database server: Solaris 9, Informix 9.40.UC4
Thanks for this much information. > /etc/services and $INFORMIXDIR/etc/sqlhosts are fine. (olsoctcp specified in > the sqlhosts file.) Well, the error message -25507is "The specified service name or protocol is unknown". More significantly, the code failed to find the error message file. You assert that sqlhosts and services are fine, but don't show us the value of $INFORMIXSERVER, the entry in the sqlhosts file (though you're right - olsoctcp is correct on Linux, even though it is oltlitcp on Solaris 9), or the entry in services on the Linux or the Solaris host. However, I'm suspicious about the error message files - what NLS environment do you have set? LC_ALL? Or any of the LC_* variables? What is in your environment related to Informix? What is in the sqlhosts file, services, and the ONCONFIG file on the Solaris machine? The names need to match... But I'm most suspicious that $INFORMIXDIR/msg/en_us/0333 is incomplete, somehow. I found +25507 in netserv.iem and cnetserv.iem. Are those files present? Have you managed to get any ESQL/C program to connect to your database server from your Linux box? I suspect not. You should read the README file and look at the discussion of esqlbasic.ec and getting that to work before adding Perl into the mix. It's odd - you've clearly got quite a lot of the stuff you need around - the program doesn't run as much as you show if you don't. You could try running 'infxmsg -25507' and 'infxmsg +22507' and see what you get. Some of these questions would have been answered had you used the bug reporting mechanism documented in the README file. > I've created a specific user for this, and that user has all the appropriate > privs if I connect > as it on the db server. On the linux host I've set all the environment > variables correctly, but ...but you don't show the values to me so that I can verify them. > end up with this: > > .. > Testing whether your Informix test environment will work... > ESQLTEST Program Running: > @(#)$Id: esqltest.ec,v 2004.1 2004/11/16 22:29:43 jleffler Exp $ > $INFORMIXDIR is set to '/opt/informix'. > $INFORMIXSERVER is set to 'flydev'. > $DBI_DBNAME unset - defaulting to 'stores'. > $DBD_INFORMIX_DATABASE unset - defaulting to 'stores'. > $DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'. > $DBD_INFORMIX_USERNAME is set to 'monfly'. > $DBD_INFORMIX_USERNAME2 is set to 'monfly'. > $DBD_INFORMIX_PASSWORD is set. > $DBD_INFORMIX_PASSWORD2 is set. > Testing connection to stores > CONNECT TO 'stores' with user info > SQL: -25507: <<Failed to locate SQL error message>> > Testing concurrent connection to stores > CONNECT TO 'stores' with user info > SQL: -25507: <<Failed to locate SQL error message>> > > Does anyone have any ideas? Any help would be appreciated. Can you connect to the server as monfly on your Solaris machine? Since you've got passwords set, I assume they are correct, case-sensitive and all. I'm still a little worried about me finding error +25507 and the code reporting error -25507. There are a couple of positive error numbers (grrr; don't ask me about it) and this may be one of them. Since the error is about service name or protocol name and you assert that 'flydev' is correctly set to olsoctcp, I'm left wondering about the service name - still. -- Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h> Guardian of DBD::Informix - v2005.01 - http://dbi.perl.org "I don't suffer from insanity - I enjoy every minute of it."
