PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: c22309 at j1xsfs90 dot is dot nwa dot com (Mark Conty)
Subject: Re: Sybperl query
Date: Nov 21 1995 5:00PM

Shankar Kris writes:
> On Tue, 21 Nov 1995, Mark Lonsdale - System Services wrote:
> > What I want to do  within my script is to log into 2 different servers which
> > are referenced in 2 seperate interfaces files.  I assumed that sybperl would
> > look for the interfaces file in the location specified by the SYBASE variable.
> >  Assuming this what I have done is as follows :-
> > 
> > $ENV('SYBASE')="/tmp/firstlocation";
> > 
> > $firstconnection=&dblogin($user, $password, $firstserver)
> > 
> > $ENV('SYBASE')="/tmp/secondlocation";
> > $secondconnection=&dblogin($user, $password, $firstserver);
> 
>   shouldn't this be,
>   $ENV{'SYBASE'} = "....";
>   $firstconnection =.....
> 
>   probably your script never read the SYBASE env thru your program
>   but read the value from a previously set environment.

Right, check your $ENV{...} references for 'SYBASE', as well as all other
associative array references.  (Check the FAQ or Camel book if you're not
clear on how associative array references are done.)

The other thing you might have to do is declare your "interfaces" files,
as follows:

	&dbsetifile("$SYBDIR[0]/interfaces");
	$ENV{'SYBASE'} = $SYBDIR[0];
	$connection[0] = &dblogin($user[0],$password[0],$server[0]);
	&dbsetifile("$SYBDIR[1]/interfaces");
	$ENV{'SYBASE'} = $SYBDIR[1];
	$connection[1] = &dblogin($user[1],$password[1],$server[1]);
							^^^^^^^^^^
				(You use $firstserver in your code above,
				but the second time, you want the _second_
				server, right? :-)

I started using &dbsetifile() when I moved my SybPERL program to a Solaris
client (where I built "sybperl" using Sybase 10.x DBLib) talking to a 4.9.2
server running on a SunOS 4.1.x host.  (The "interfaces" files' formats
differ between the two releases.)  I haven't tried, but I would _think_
that you should be able to make a second &dbsetifile() call after logging
into the first server.  Check the DBLib reference manual, to see if there
is any mention of this there.  (I would, but mine's not handy right now...)

Let us know if your experimentation turns up anything of interest in this
area.  I would expect that we'll see more and more of these questions as
people continue to migrate to System 10, and eventually on to System 11
as well.

Good luck!
--
Mark D. Conty                                 c22309@j1xsfs90.is.nwa.com
Northwest Airlines                                  mdconty@idss.nwa.com
IS/Applications                   <><                  mdc@winternet.com