Skip to Content.
Sympa Menu

freetds - [freetds] solaris 5.7, perl v5.8.5, freetds 0.62.4, DBD::Sybase-1.05_02 doesn't recognize the column type of a table database.

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Jean Uwacu <jean.uwacu AT freemindconsulting.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: [freetds] solaris 5.7, perl v5.8.5, freetds 0.62.4, DBD::Sybase-1.05_02 doesn't recognize the column type of a table database.
  • Date: Wed, 20 Jul 2005 17:12:59 +0200

I've installed DBD::Sybase-1.05_02 on top of freetds 0.62.4 on Solaris 5.7.
The integer column type doesn't appear as such for a select request while executing tsql those are processed correctly.
So I'm thinking it's a DBD-Sybase issue. I didn't see any function in DBD-Sybase to help me change this format number.

I notice that on this device, the remote tsql client give good results and have no issue with number.

Here is a log of the dbitrace associated to my select request, done in a perl script using DBI and DBD::Sybase:

DBI 1.48-nothread default trace level set to 0x0/5 (pid 4363)
-> prepare for DBD::Sybase::db (DBI::db=HASH(0x2a8c60)~0x2ccc00 'select Node, ServerSerial, AlertKey, Severity from aler
ts.status where Class = 101;')
New DBI::st (for DBD::Sybase::st, parent=DBI::db=HASH(0x2ccc00), id=)
dbih_setup_handle(DBI::st=HASH(0x2cdc08)=>DBI::st=HASH(0x2ccc30), DBD::Sybase::st, 2cdc14, Null!)
dbih_make_com(DBI::db=HASH(0x2ccc00), 2dc2d0, DBD::Sybase::st, 420, 0) thr#0
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), Err, DBI::db=HASH(0x2ccc00)) SCALAR(0x25a8b0) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), State, DBI::db=HASH(0x2ccc00)) SCALAR(0x25a910) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), Errstr, DBI::db=HASH(0x2ccc00)) SCALAR(0x25a8e0) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), TraceLevel, DBI::db=HASH(0x2ccc00)) 0 (already defined)
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), FetchHashKeyName, DBI::db=HASH(0x2ccc00)) 'NAME' (already defined)
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), HandleSetErr, DBI::db=HASH(0x2ccc00)) undef (not defined)
dbih_setup_attrib(DBI::st=HASH(0x2ccc30), HandleError, DBI::db=HASH(0x2ccc00)) undef (not defined)
syb_st_prepare() -> inUse = 0
syb_st_prepare() -> set inUse
<- prepare= DBI::st=HASH(0x2cdc08) at tstdbd.pl line 32
-> execute for DBD::Sybase::st (DBI::st=HASH(0x2cdc08)~0x2ccc30)
syb_alloc_cmd() -> CS_COMMAND 2de0d8 for CS_CONNECTION 2cf4d0
cmd_execute() -> ct_command() OK
cmd_execute() -> ct_send() OK
cmd_execute() -> set inUse flag
st_next_result() -> ct_results(4040) == 1
ct_res_info() returns 4 columns

fails in:
ct_describe(0): type = 1315923045, maxlen = 0
describe() -> col 0, type 1, realtype 1315923045
ct_describe(1): type = 1399157366, maxlen = 1919508844
describe() -> col 1, type 1, realtype 1399157366
ct_describe(2): type = 1097622898, maxlen = 0
describe() -> col 2, type 1, realtype 1097622898
ct_describe(3): type = 1399158373, maxlen = 0
describe() -> col 3, type 1, realtype 1399158373
describe() retcode = 1
st_next_result() -> lasterr = 0, lastsev = 0
<- execute= -1 at tstdbd.pl line 34

while must have be (script that executes on the server):
ct_describe(0): type = 1, maxlen = 64
describe() -> col 0, type 1, realtype 1
ct_describe(1): type = 2, maxlen = 4
describe() -> col 1, type 2, realtype 2
ct_describe(2): type = 1, maxlen = 64
describe() -> col 2, type 1, realtype 1
ct_describe(3): type = 2, maxlen = 4
describe() -> col 3, type 2, realtype 2
describe() retcode = 1
st_next_result() -> lasterr = 0, lastsev = 0
<- execute= -1 at eqtoobjserv.pl line 34

Do you have a suggestion? Thanks in advance,
Jean.








Archive powered by MHonArc 2.6.24.

Top of Page