[freetds] freetds/DBD::Sybase/perl environment wierdness

Steve Haslam Steve.Haslam at Activis.com
Thu May 15 09:05:28 EDT 2003


I'm having some wierdness when using FreeTDS (0.61) and DBD::Sybase from
Perl-- after I connect to a database, the LANG environment variable is
downcased in any subprocesses I spawn, although $ENV{LANG} remains
unchanged. Any ideas?

bash$ DBI_TRACE=1 perl -w -MDBI -le 'print "LANG starts as $ENV{LANG}\n";
system("locale"); DBI->connect("dbi:Sybase:uksql", "vss", q{PASSWORD});
print "LANG is now $ENV{LANG}\n"; system("locale")'
    DBI 1.32-nothread dispatch trace level set to 1
LANG starts as en_GB

LANG=en_GB
LC_CTYPE="en_GB"
LC_NUMERIC="en_GB"
LC_TIME="en_GB"
LC_COLLATE="en_GB"
LC_MONETARY="en_GB"
LC_MESSAGES="en_GB"
LC_ALL=
    -> DBI->connect(dbi:Sybase:uksql, vss, ****)
    -> DBI->install_driver(Sybase) for solaris perl=5.008 pid=23415 ruid=120
euid=120
       install_driver: DBD::Sybase version 1.00 loaded from
/home/steveh/newfreetds/lib/perl5/site_perl/5.8.0/sun4-solaris-64int/DBD/Syb
ase.pm
    <- install_driver= DBI::dr=HASH(0xf8810)
    <- connect('uksql' 'vss' ...)= DBI::db=HASH(0x161754) at DBI.pm line 513
    <- STORE('PrintError' 1)= 1 at DBI.pm line 555
    <- STORE('AutoCommit' 1)= 1 at DBI.pm line 555
    <- connect= DBI::db=HASH(0x161754)
    <- DESTROY= undef at -e line 1
LANG is now en_GB

LANG=en_gb
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
    <- disconnect_all= 1 at DBI.pm line 575

I can fix this with a rather perverse { $ENV{LANG} = "$ENV{LANG}" }
statement after my DBI->connect() call, but I think this is worth
investigating. Perhaps FreeTDS is mangling the environment directly at some
point?

SRH
--
Steve Haslam, Developer for Activis; Integralis Ltd, Theale
http://www.activis.com/
W:+44-118-923-5272



Please note that:
 
1. This e-mail may constitute privileged information. If you are not the intended recipient, you have received this confidential email and any attachments transmitted with it in error and you must not disclose, copy, circulate or in any other way use or rely on this information.
2. E-mails to and from the company are monitored for operational reasons and in accordance with lawful business practices.
3. The contents of this email are those of the individual and do not necessarily represent the views of the company.
4. The company does not conclude contracts by email and all negotiations are subject to contract.
5. The company accepts no responsibility once an e-mail and any attachments is sent.

http://www.activis.com




This annotation was added by the e-scan service.
http://www.activis.com
----------------------------------------------------------------------------------
This message has been checked for all known viruses by e:)scan.
For further information please contact support at activis.com




More information about the FreeTDS mailing list