R. Bernstein wrote:
>
> One thing's puzzled me about DBD::Informix and probably ESQLC too.
>
> To make a connection to the database one runs:
>
> DBI->connect($dbserver,$user',$passwd,'Informix');
>
> But in addition, one has to also set the environment variable,
> INFORMIXSERVER, too. Why is this?
[SNIP]
> What am I missing? What are the complications?
I don't know about DBD::Informix but in ESQL/C the INFORMIXSERVER is
ignored if you use the CONNECT statement and is only used by a DATABASE
statement that is executed before connecting creating a DEFAULT
connection to the INFORMIXSERVER. Indeed if the database statement
names a remote hosted database the connection is made by the
INFORMIXSERVER and not by the application directly (see onstat -g ses
on the remote the pid is that of one of the oninit processes on the
INFORMIXSERVER instance and your pid will show up on the INFORMIXSERVER
onstat -g ses report). Conversely, if you explicitelyCONNECT to a remote hosted server there is no connection on the
INFORMIXSERVER and the connection on the remote hosted server shows
your process' pid. This directness is one reason that multiple
connections to remote databases are faster than remote database access
from the INFORMIXSERVER.
Art S. Kagel