How to set DBPATH for sqlexecd and SE?
Posted in 2005
Topics: Server Administration, Networking & sqlhosts Configuration
I've been working with Jonathan Leffler via email and he thought maybe
I should post this to see if anyone else has any ideas (he's out of the
office today). I'm trying to get sqlexecd working for remote
connections on a SCO openserver 5.0.6 machine running what I believe to
be Informix 7.24 SE. Here is the setup (coca is the /etc/hosts entry
for the ip of the machine )
$INFORMIXDIR/etc/sqlhosts:
local_se seipcpip coca sqlexec
remote_se setlitcp coca sqlserv
if I just run dbaccess dta@local_se everything works. Here is the
default related environment variables on this machine.
SQLEXEC=sqlexec
PATH=/usr/vsifax3/obin:/bin:/usr/bin:/usr/local/bin::.:/tm/bin:/tm/common/informix/bin:/usr/local:/tm/src/tmsimg/bin:/tm/src/tmsimg/etc:/tm/local:/usr/vsifax3/bin:/usr/myhomedir/bin:.
INFORMIXDIR=/tm/common/informix
INFORMIXSERVER=local_se
DBPATH=.:/tm/dta.sql:/tm/dta.sql/Arc:/tm/dta.sql/Frm
Don't even ask about that PATH .. its crazy I know and so is the
DBPATH. I started the sqlexecd with the following commands:
cd /tm
$INFORMIXDIR/lib/sqlexecd -l /tmp/sqlexecd.log remote_se
If I attempt to issue 'dbaccess dta@remote' I get the following error:
329: Database not found or no system permission.
and in the /tmp/sqlexec.log I have the following:
2005-11-04 10:27:26.217180 Starting Daemon INFORMIX-SQL Version
7.24.UC10
Command Line = /tm/common/informix/lib/sqlexecd -l /tmp/sqlexecd.log
remote_se
INFORMIXDIR = /tm/common/informix
dbservername = remote_se
nettype = setlitcp
hostname = coca
servicename = sqlserv
options =
2005-11-04 10:28:43.529666 sqlexec coca epay -ddta
so atleast we know its connecting but it looks like sqlexecd is having
difficulty serving the database maybe? so I mess with the environment
variables and set them to:
DBPATH=/tm/dta.sql
INFORMIXDIR=/tm/common/informix
INFORMIXSERVER=remote_seSQLEXEC=$INFORMIXDIR/lib/sqlexec
PATH=$INFORMIXDIR/lib:$PATH
The DBPATH looked hookey to me and I see the dta.dbs directory under
the /tm/dta.sql directory so I decide to just give that by itself a
try. I also added the $INFORMIX/lib directory and set the SQLEXEC
path.
so I restart the sqlexecd using the same commands as before and it
still gives me the exact same error. Where do I go from here? I've
also tried connecting from a remote client using DBI::Informix and
inaddition to the -329 error it says:
ISAM: -2: No such file or directory
I'm really confused. This is a customer's software/machine/database
and I'm kinda starting to lose hope that I'm going to get this working.
Ideas? FYI, I am running the sqlexecd as root and since i can connect
to local_se just fine this is driving me crazy.
Try using remote_se locally eq on coca (your local scobox)
see if you can open the db there.
DBPATH=/tm/dta.sql should be set. (make sure you export it!!!)
when that does not work try setting it on the client too
on your scobox it should be something like
DBPATH=//remote_se/tm/dta.sql
if i am not mistaken (has been a while since i played with it... sorry)
also try setting DBPATH on your real remote client; should be
DBPATH=//remote_se/tm/dta.sql(if more db's then add them with prefix //remote_se and separate using
: )
and may be the log file says something too.
may be you want to set SQLIDEBUG
eq export SQLIDEBUG=2:/tmp/somelogfile
and use sqliprint (comes with client sdk ) to print the file; in there
the env should
be listed there too.
Hope it helps
Superboer.
matthewlenz@gmail.com schreef:
> I've been working with Jonathan Leffler via email and he thought maybe
> I should post this to see if anyone else has any ideas (he's out of the
> office today). I'm trying to get sqlexecd working for remote
> connections on a SCO openserver 5.0.6 machine running what I believe to
> be Informix 7.24 SE. Here is the setup (coca is the /etc/hosts entry
> for the ip of the machine )
>
> $INFORMIXDIR/etc/sqlhosts:
> local_se seipcpip coca sqlexec
> remote_se setlitcp coca sqlserv
>
> if I just run dbaccess dta@local_se everything works. Here is the
> default related environment variables on this machine.
>
> SQLEXEC=sqlexec
> PATH=/usr/vsifax3/obin:/bin:/usr/bin:/usr/local/bin::.:/tm/bin:/tm/common/informix/bin:/usr/local:/tm/src/tmsimg/bin:/tm/src/tmsimg/etc:/tm/local:/usr/vsifax3/bin:/usr/myhomedir/bin:.
> INFORMIXDIR=/tm/common/informix
> INFORMIXSERVER=local_se
> DBPATH=.:/tm/dta.sql:/tm/dta.sql/Arc:/tm/dta.sql/Frm>
> Don't even ask about that PATH .. its crazy I know and so is the
> DBPATH. I started the sqlexecd with the following commands:
>
> cd /tm
> $INFORMIXDIR/lib/sqlexecd -l /tmp/sqlexecd.log remote_se
>
> If I attempt to issue 'dbaccess dta@remote' I get the following error:
>
> 329: Database not found or no system permission.>
> and in the /tmp/sqlexec.log I have the following:
>
> 2005-11-04 10:27:26.217180 Starting Daemon INFORMIX-SQL Version
> 7.24.UC10
> Command Line = /tm/common/informix/lib/sqlexecd -l /tmp/sqlexecd.log
> remote_se
> INFORMIXDIR = /tm/common/informix
> dbservername = remote_se
> nettype = setlitcp
> hostname = coca
> servicename = sqlserv
> options =
> 2005-11-04 10:28:43.529666 sqlexec coca epay -ddta
>
> so atleast we know its connecting but it looks like sqlexecd is having
> difficulty serving the database maybe? so I mess with the environment
> variables and set them to:
>
> DBPATH=/tm/dta.sql
> INFORMIXDIR=/tm/common/informix
> INFORMIXSERVER=remote_se> SQLEXEC=$INFORMIXDIR/lib/sqlexec
> PATH=$INFORMIXDIR/lib:$PATH>
> The DBPATH looked hookey to me and I see the dta.dbs directory under
> the /tm/dta.sql directory so I decide to just give that by itself a
> try. I also added the $INFORMIX/lib directory and set the SQLEXEC
> path.
>
> so I restart the sqlexecd using the same commands as before and it
> still gives me the exact same error. Where do I go from here? I've
> also tried connecting from a remote client using DBI::Informix and
> inaddition to the -329 error it says:
>
> ISAM: -2: No such file or directory
>
> I'm really confused. This is a customer's software/machine/database
> and I'm kinda starting to lose hope that I'm going to get this working.
> Ideas? FYI, I am running the sqlexecd as root and since i can connect
> to local_se just fine this is driving me crazy.
Are you connecting via JDBC? I couldn't get it to use DBPATH, so had to create
symbolic links of the database directories in the user's home directory. ODBC is
OK.
--
Regards,
Doug Lawry
www.douglawry.webhop.org
<matthewlenz@gmail.com> wrote in message
news:1131123352.283592.321150@z14g2000cwz.googlegroups.com...
> I've been working with Jonathan Leffler via email and he thought maybe
> I should post this to see if anyone else has any ideas (he's out of the
> office today). I'm trying to get sqlexecd working for remote
> connections on a SCO openserver 5.0.6 machine running what I believe to
> be Informix 7.24 SE. Here is the setup (coca is the /etc/hosts entry
> for the ip of the machine )
>
> $INFORMIXDIR/etc/sqlhosts:
> local_se seipcpip coca sqlexec
> remote_se setlitcp coca sqlserv
>
> if I just run dbaccess dta@local_se everything works. Here is the
> default related environment variables on this machine.
>
> SQLEXEC=sqlexec
> PATH=/usr/vsifax3/obin:/bin:/usr/bin:/usr/local/bin::.:/tm/bin:/tm/common/informix/bin:/usr/local:/tm/src/tmsimg/bin:/tm/src/tmsimg/etc:/tm/local:/usr/vsifax3/bin:/usr/myhomedir/bin:.
> INFORMIXDIR=/tm/common/informix
> INFORMIXSERVER=local_se
> DBPATH=.:/tm/dta.sql:/tm/dta.sql/Arc:/tm/dta.sql/Frm>
> Don't even ask about that PATH .. its crazy I know and so is the
> DBPATH. I started the sqlexecd with the following commands:
>
> cd /tm
> $INFORMIXDIR/lib/sqlexecd -l /tmp/sqlexecd.log remote_se
>
> If I attempt to issue 'dbaccess dta@remote' I get the following error:
>
> 329: Database not found or no system permission.>
> and in the /tmp/sqlexec.log I have the following:
>
> 2005-11-04 10:27:26.217180 Starting Daemon INFORMIX-SQL Version
> 7.24.UC10
> Command Line = /tm/common/informix/lib/sqlexecd -l /tmp/sqlexecd.log
> remote_se
> INFORMIXDIR = /tm/common/informix
> dbservername = remote_se
> nettype = setlitcp
> hostname = coca
> servicename = sqlserv
> options =
> 2005-11-04 10:28:43.529666 sqlexec coca epay -ddta
>
> so atleast we know its connecting but it looks like sqlexecd is having
> difficulty serving the database maybe? so I mess with the environment
> variables and set them to:
>
> DBPATH=/tm/dta.sql
> INFORMIXDIR=/tm/common/informix
> INFORMIXSERVER=remote_se> SQLEXEC=$INFORMIXDIR/lib/sqlexec
> PATH=$INFORMIXDIR/lib:$PATH>
> The DBPATH looked hookey to me and I see the dta.dbs directory under
> the /tm/dta.sql directory so I decide to just give that by itself a
> try. I also added the $INFORMIX/lib directory and set the SQLEXEC
> path.
>
> so I restart the sqlexecd using the same commands as before and it
> still gives me the exact same error. Where do I go from here? I've
> also tried connecting from a remote client using DBI::Informix and
> inaddition to the -329 error it says:
>
> ISAM: -2: No such file or directory
>
> I'm really confused. This is a customer's software/machine/database
> and I'm kinda starting to lose hope that I'm going to get this working.
> Ideas? FYI, I am running the sqlexecd as root and since i can connect
> to local_se just fine this is driving me crazy.
Superboer wrote:
> Try using remote_se locally eq on coca (your local scobox)
> see if you can open the db there.
> DBPATH=/tm/dta.sql should be set. (make sure you export it!!!)>
> when that does not work try setting it on the client too
> on your scobox it should be something like
>
> DBPATH=//remote_se/tm/dta.sql>
> if i am not mistaken (has been a while since i played with it... sorry)
> also try setting DBPATH on your real remote client; should be
> DBPATH=//remote_se/tm/dta.sql> (if more db's then add them with prefix //remote_se and separate using
> : )
OK THAT WORKED!!! WOO HOOO!!! dbaccess now works locally with the
DBPATH set the way you described. Now I need to figure out how to
configure my connect function for DBI::Informix and I should be golden.
> and may be the log file says something too.
>
> may be you want to set SQLIDEBUG
>
> eq export SQLIDEBUG=2:/tmp/somelogfile
> and use sqliprint (comes with client sdk ) to print the file; in there
> the env should
> be listed there too.
>
> Hope it helps
>
> Superboer.
ok, i got that working as well. looks like using the DBPATH you mentioned along with changing my sqlhosts entry from onsoctcp (damn misleading release notes) to sesoctcp has me working with DBI::Informix. Nothing like 5 days of banging your head on the desk. Thanks to everyone for their input. -Matt