Re: I-Net = I-Connect ???????
Posted in 1997
>From: "KENDRICKS CHERYL" <KENDRICKS_CHERYL@heb.com>
>Date: Tue, 22 Jul 1997 09:08:11 -0500
>
>Jonathan,
>
>Also is it correct to say that, you do not need I-Net if you have
>I-Connect and want to access an Informix 5.x and/or Informix 7.x Online
>Instance. This is because the I-Connect software is backwards compatible
>to Informix 5.x Online Engines?
That gets complicated. In part, it depends on which version of ESQL/C your
programs are compiled with. Let's try to work out how to explain this...
[...Later...]
The short answer is that if you are going to access a 5.0x OnLine system
using 6.0x or later software, then you need a 5.0x I-Net or I-Star daemon
(sqlexecd) to listen for the connection requests.
Similarly, if remote machines are going to access an 7.x SE database on
your local machine, then you need to be running the 7.x sqlexecd on the
local machine with the appropriate environment set.
[...Earlier...]
There are two sets of ESQL/C versions: pre-6 and post-6. Likewise there
are two sets of engines: pre-6 and post-6, with sub-divisions for OnLine
and SE.
One of the keys to how post-6 applications access the database is the
$INFORMIXSQLHOSTS file (default $INFORMIXDIR/etc/sqlhosts). Note that
pre-6 systems do not recognize $INFORMIXSQLHOSTS as an environment variable
and the file must be in the default location.
I'm looking at my sqlhosts file which is shared by 5.08, 6.00, 7.23, 9.12
OnLine systems (4.12 uses a different syntax in the sqlhosts file, and I'm
not going to attempt to cover that here).
# Centralized INFORMIXSQLHOSTS file for machine ANUBIS
anubis_23 ontlitcp anubis anubis_23
anubis_29 ontlitcp anubis anubis_29
anubis_31 ontlitcp anubis anubis_31
anubis_37 ontlitcp anubis anubis_37
anubis_41 ontlitcp anubis anubis_41
anubis_43 ontlitcp anubis anubis_43
anubis_47 ontlitcp anubis anubis_47
anubis_47_tli ontlitcp anubis turbo2
anubis_47_shm onipcshm anubis anubis_47
anubis_47_str onipcstr anubis anubis_47
anubis_53 ontlitcp anubis anubis_53
anubis_53_tli ontlitcp anubis turbo3
anubis_53_shm onipcshm anubis anubis_53
anubis_53_str onipcstr anubis anubis_53
ccl1_59 oltlitcp ccl1 anubis_29
indus_53 oltlitcp indus anubis_53 local_se seipcpip anubis sqlexec
yeti_uds oltlitcp yeti turbo2
spitha_722OWS oltlitcp spitha turbo2
I also keep a record of OnLine space allocations in /etc/vfstab
# Srvr ShmKey Offsets INFORMIXDIR TBCONFIG
# /dev/rdsk/c0t2d0s6 is a raw partition of 256032 KB for Informix-OnLine
# 23 0x526D 40960 .. 61439 /usr/informix/5.08.UD1 tbconfig.anubis.23
# 29 0x5273 0 .. 20479 -29- -
# 31 0x5275 61440 .. 81919 /usr/informix/6.01.UD1 onconfig.anubis.31
# 37 0x527B 20480 .. 40959 /usr/informix/4.12.UE1 tbconfig.anubis.37
# 41 0x527F 102400 .. 143359 /usr/informix/7.20.UC1 onconfig.anubis.41
# 43 0x5281 143360 .. 256031 /usr/informix/7.21.UC1 onconfig.anubis.43
# 47 0x5285 81920 .. 102399 /usr/informix/7.23.UC1 onconfig.anubis.47
# /dev/rdsk/c0t3d0s4 is a raw partition of 51408 KB for IUS
# 53 0x528B 0 .. 51407 /usr/informix/9.12.UC1 onconfig.anubis.53
Assuming that the relevant OnLine systems are up and running, and that
INFORMIXDIR is set correctly, I can use a 7.2x program to connect to the
6.00, 7.2x or 9.12 systems setting just the INFORMIXSERVER environment
variable. To connect to the 5.08 system, I also need an I-Net or I-Star
sqlexecd running and listening on the correct port (anubis_23 in the
example above).
/usr/informix/5.08.UD1/lib/sqlexecd anubis_23
When I was checking this out, I found anubis had an sqlexecd running since
17th June, even though I'd taken the 5.08 OnLine system up and down
numerous times since then. With the sqlexecd present, the 7.x applications
could connect to the 5.08 OnLine system without problems. Without it, the
connections fail.
I don't normally play with SE very often these days, so I'm less certain
about my answers here. For accessing a local SE engine under the
current $INFORMIXDIR, I set INFORMIXSERVER=local_se.
However, you can also play more complex games:
sqlmonitor seipcpip anubis /anubis3/johnl/src/sqltools/cmd/sqlmonitor
I have an entry in my sqlhosts file as shown just above, and when I set
INFORMIXSERVER to sqlmonitor, the program which is run to talk to the
database is the file specified by the absolute path (which defaults to a
path relative to $INFORMIXDIR/lib if there is no absolute path). You can
also use the Relay Module simply by specifying sqlrm in the fourth column.
I'm not sure what you have to do to access a remote pre-6 SE database, but
I assume that you have to have an entry in the local sqlhosts file which
says:
remote_se oltlitcp remotehost remote_svc
where remote_se is what you set INFORMIXSERVER to, oltlitcp indicates a
network connection, remotehost is where the database resides, and
remote_svc is the service name to use to talk to the remote daemon. On the
remote host, you'd have to be running an I-Net (or I-Star) sqlexecd which
is listening to the remote_svc port and which has its Informix environment
set correctly for the SE system you need to use.
[...More speculative...]
I've not checked out what is necessary for pre-6 applications to talk to
post-6 servers. You probably need to set up the sqlhosts file so that the
local connections are on seipcpip or olipcpip, and remote connections are
on setlitcp or oltlitcp (or sesoctcp or olsoctcp, or even the SPX/IPX
connections if those are what you have). Somewhere in all this, the relay
modules (5.x style) can be used for remote database access (with SQLRM and
SQLRMDIR getting in the way). I've not managed to locate the relevant
manual to tell me whether olipcpip is valid (memory is failing me). I
assume that olipcshm is not a connectivity option for 5.0x applications,
any more than olipcstr is a connectivity option for 6.0x I4GL since
olipcstr is only available with 7.x and later ESQL/C and 6.0x I4GL uses
6.00 ESQL/C.
Lots and lots of luvverly details...
Yours verbosely,
Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>
PS: Warning I do not reply to messages with anti-spam in the return path.
>From johnl@informix.com on 07/21/97 02:08:50 PM
>
>>From: "Peries, Chaminda" <CPeries@dynasty.com>
>>Date: Mon, 21 Jul 1997 13:31:20 -0500
>>X-Informix-List-Id: <list.15564>
>>
>>Does I-net & I-Connect refer to the same software ?
>
>No.
>
>>If not what exactly is the difference ?
>
>Several things.
>
>First, version. I-Net applies to 5.0x and earlier versions of the
>software; I-Connect applies to 7.1x and later versions of the software.
>
>Second, purpose. I-Net allows distributed access to databases, so that a
>program can access an SE or OnLine database on a different machine. I-Star
>is similar but allows OnLine systems to wor