[freetds] FreeTDS and getting HP/UX 11 to work with latest build -- conversion problems

Staats, Frederick W frederick.w.staats at intel.com
Mon Jun 30 11:35:02 EDT 2003


I followed the thread on the HP/UX configure problems and got
the latest dev build freetds-0.62.dev.20030627 to compile on
my local HP/UX 11 machine without core dumps.  However it
appears that I am running into type conversion problems in
freeTDS when using TDSVER 7.0/8.0 on a Microsoft SQL
Server 2000.

Here is a minimal DBI script with the error logs that repeats
the problems for me.

Note this script does work with TDSVER 4.2, 7.0 and 8.0
on Linux but fails with TDSVER on 7.0 and 8.0 on HP/UX 11.

#!/usr/local/proj/bin/perl
BEGIN {
    # Set the environment to use libfreetds with
    # a Microsoft SQL Sever 2000
    $ENV{SYBASE}  = '/usr/local/proj';
    $ENV{TDSPORT} = '1433';
    $ENV{TDSVER}  = '8.0';
}

use DBI;
use DBD::Sybase;
use warnings;
use strict;

my $server   = 'ntdev01';
my $account  = 'test';
my $password = 'test';
my $database = 'test';

my $dbh = DBI->connect("dbi:Sybase:server=$server", $account, $password,
          { RaiseError => 1, AutoCommit => 0 }) or die $DBI::errstr;
$dbh->disconnect;

==============================================================
... cut from make check output in the freeTDS build area, NOTE: the linux build only
reports 2 of 12 tests failed and does not fail on the dataread test: ...

failed (-1) to convert 48 (tinyint, 1 bytes) : 108 (numeric).
FAIL: convert
dataread.c: Testing conversion from server
PASS: dataread
flags.c: Testing flags from server
select c, b from #tmp1 for browse: Testing query
wrong number or columns returned
FAIL: flags
====================
3 of 12 tests failed
====================

==============================================================
... freeTDS log file with level 99 debugging ...
Starting log file for FreeTDS 0.62.dev.20030627
        on 2003-06-30 08:21:40 with debug level 99.
names for ISO-8859-1: iso81
names for UTF-8: utf8
names for UCS-2LE: (null)
names for UCS-2BE: ucs2
iconv to convert client-side data to the "ISO-8859-1" character set
08:21:40 tds_iconv_info_init: use memcpy to convert "ISO-8859-1"->"UCS-2LE"
08:21:40 Connecting to 137.102.160.64 port 1433, TDS 8.0.
08:21:40 tds_put_string converting 8 bytes of "phpc0166"
08:21:40 tds_put_string converting 8 bytes of "phpc0166"
08:21:40 tds_put_string converting 8 bytes of "phpc0166"
... repeats forever ...

==============================================================
... output of the DBI perl script with level 9 debugging ... 
./test_DBI_8.0.pl 
    DBI 1.37-ithread dispatch trace level set to 9
    Note: perl is running without the recommended perl -w option
    syb_init() -> DBD::Sybase 1.00 initialized
    OpenClient version: zøôtzù
                             @©¸
    -> DBI->connect(dbi:Sybase:server=ptdntdev01, odbctest, ****, HASH(0x40013b6c))
    -> DBI->install_driver(Sybase) for hpux perl=5.008 pid=16646 ruid=1101 euid=1101
       install_driver: DBD::Sybase version 1.00 loaded from /afs/pdx.intel.com/proj/deca/lib/perl5/site_perl/5.8.0/PA-RISC2.0-thread-multi/DBD/Sybase.pm
    New DBI::dr (for DBD::Sybase::dr, parent=, id=)
    dbih_setup_handle(DBI::dr=HASH(0x40136330)=>DBI::dr=HASH(0x400258fc), DBD::Sybase::dr, 0, Null!)
    dbih_make_com(Null!, 0, DBD::Sybase::dr, 84, 0) thr#40012728
    dbih_setup_attrib(DBI::dr=HASH(0x400258fc), Err, Null!) SCALAR(0x40125b70) (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x400258fc), State, Null!) SCALAR(0x40125bb8) (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x400258fc), Errstr, Null!) SCALAR(0x40125b94) (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x400258fc), TraceLevel, Null!) 0 (already defined)
    dbih_setup_attrib(DBI::dr=HASH(0x400258fc), FetchHashKeyName, Null!) 'NAME' (already defined)
    <- install_driver= DBI::dr=HASH(0x40136330)
    >> connect     DISPATCH (DBI::dr=HASH(0x40136330) rc2/3 @5 g0 ima1 pid#16646) at /afs/pdx.intel.com/proj/deca/lib/perl5/site_perl/5.8.0/PA-RISC2.0-thread-multi/DBI.pm line 582
    -> connect for DBD::Sybase::dr (DBI::dr=HASH(0x40136330)~0x400258fc 'server=ptdntdev01' 'odbctest' **** HASH(0x40025be4)) thr#40012728
    New DBI::db (for DBD::Sybase::db, parent=DBI::dr=HASH(0x400258fc), id=)
    dbih_setup_handle(DBI::db=HASH(0x401dc5ec)=>DBI::db=HASH(0x40025c50), DBD::Sybase::db, 4013202c, Null!)
    dbih_make_com(DBI::dr=HASH(0x400258fc), 400260d8, DBD::Sybase::db, 1708, 0) thr#40012728
    dbih_setup_attrib(DBI::db=HASH(0x40025c50), Err, DBI::dr=HASH(0x400258fc)) SCALAR(0x40139e1c) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x40025c50), State, DBI::dr=HASH(0x400258fc)) SCALAR(0x40139e7c) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x40025c50), Errstr, DBI::dr=HASH(0x400258fc)) SCALAR(0x40139e4c) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x40025c50), TraceLevel, DBI::dr=HASH(0x400258fc)) 0 (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x40025c50), FetchHashKeyName, DBI::dr=HASH(0x400258fc)) 'NAME' (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x40025c50), HandleError, DBI::dr=HASH(0x400258fc)) undef (not defined)
^C




More information about the FreeTDS mailing list