Thanks Jeff for response.
I have MDAC 2.7 installed on client & server.
Thanks
Deepak
Here is the DBI trace file.
----------------------------------------------------------
DBI 1.37-ithread dispatch trace level set to 9
>> prepare DISPATCH (DBI::db=HASH(0x2092f30) rc1/3 @2 g0 ima201
pid#2608) at c:/deepak/cel/cgi-bin/test.cgi line 25
-> prepare for DBD::ODBC::db (DBI::db=HASH(0x2092f30)~0x2093200
'{call SP_Get_Max_OrderID(?,?)}') thr#0155F350
New DBI::st (for DBD::ODBC::st, parent=DBI::db=HASH(0x2093200), id=)
dbih_setup_handle(DBI::st=HASH(0x20927d8)=>DBI::st=HASH(0x20928a4),
DBD::ODBC::st, 20927e4, Null!)
dbih_make_com(DBI::db=HASH(0x2093200), 020BF5D8, DBD::ODBC::st, 208,
00000000) thr#0155F350
dbih_setup_attrib(DBI::st=HASH(0x20928a4), Err,
DBI::db=HASH(0x2093200)) SCALAR(0x1816b5c) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x20928a4), State,
DBI::db=HASH(0x2093200)) SCALAR(0x18137a0) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x20928a4), Errstr,
DBI::db=HASH(0x2093200)) SCALAR(0x1813770) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x20928a4), TraceLevel,
DBI::db=HASH(0x2093200)) 0 (already defined)
dbih_setup_attrib(DBI::st=HASH(0x20928a4), FetchHashKeyName,
DBI::db=HASH(0x2093200)) 'NAME' (already defined)
dbih_setup_attrib(DBI::st=HASH(0x20928a4), HandleError,
DBI::db=HASH(0x2093200)) undef (not defined)
<- prepare= DBI::st=HASH(0x20927d8) at
c:/deepak/cel/cgi-bin/test.cgi line 25
>> bind_param_inout DISPATCH (DBI::st=HASH(0x20927d8) rc1/1 @4 g0
ima1 pid#2608) at c:/deepak/cel/cgi-bin/test.cgi line 27
-> bind_param_inout for DBD::ODBC::st
(DBI::st=HASH(0x20927d8)~0x20928a4 1 SCALAR(0x20da114) 32) thr#0155F350
<- bind_param_inout= 1 at c:/deepak/cel/cgi-bin/test.cgi line 27
>> bind_param_inout DISPATCH (DBI::st=HASH(0x20927d8) rc1/1 @4 g0
ima1 pid#2608) at c:/deepak/cel/cgi-bin/test.cgi line 28
-> bind_param_inout for DBD::ODBC::st
(DBI::st=HASH(0x20927d8)~0x20928a4 2 SCALAR(0x20d89bc) 32) thr#0155F350
<- bind_param_inout= 1 at c:/deepak/cel/cgi-bin/test.cgi line 28
>> execute DISPATCH (DBI::st=HASH(0x20927d8) rc1/1 @1 g0 ima41
pid#2608) at c:/deepak/cel/cgi-bin/test.cgi line 29
-> execute for DBD::ODBC::st (DBI::st=HASH(0x20927d8)~0x20928a4)
thr#0155F350
<- execute= '0E0' at c:/deepak/cel/cgi-bin/test.cgi line 29
>> finish DISPATCH (DBI::st=HASH(0x20927d8) rc1/1 @1 g0 ima1
pid#2608) at c:/deepak/cel/cgi-bin/test.cgi line 30
-> finish for DBD::ODBC::st (DBI::st=HASH(0x20927d8)~0x20928a4)
thr#0155F350
<- finish= 1 at c:/deepak/cel/cgi-bin/test.cgi line 30
>> DESTROY DISPATCH (DBI::st=HASH(0x20927d8) rc1/1 @1 g0 ima4
pid#2608)
<> DESTROY ignored for outer handle DBI::st=HASH(0x20927d8) (inner
DBI::st=HASH(0x20928a4))
>> DESTROY DISPATCH (DBI::st=HASH(0x20928a4) rc1/1 @1 g0 ima4
pid#2608)
-> DESTROY for DBD::ODBC::st (DBI::st=HASH(0x20928a4)~INNER)
thr#0155F350
<- DESTROY= undef
DESTROY (dbih_clearcom) (sth 0x20927d8 0x20b3698, com 0x20b3504, imp
DBD::ODBC::st):
FLAGS 0x111: COMSET Warn PrintError
PARENT DBI::db=HASH(0x2093200)
KIDS 0 (0 Active)
IMP_DATA undef
NUM_OF_FIELDS 0
NUM_OF_PARAMS 2
dbih_clearcom 0x20927d8 (com 0x20b3504, type 3) done.
-- DBI::END
>> disconnect_all DISPATCH (DBI::dr=HASH(0x1819970) rc1/4 @1 g0
ima801 pid#2608) at C:/Perl/site/lib/DBI.pm line 649 via
c:/deepak/cel/cgi-bin/test.cgi line 0
-> disconnect_all for DBD::ODBC::dr
(DBI::dr=HASH(0x1819970)~0x2092f60) thr#0155F350
<- disconnect_all= '' at C:/Perl/site/lib/DBI.pm line 649 via
c:/deepak/cel/cgi-bin/test.cgi line 0
! >> DESTROY DISPATCH (DBI::db=HASH(0x2093200) rc1/1 @1 g0 ima4
pid#2608) during global destruction
! -> DESTROY for DBD::ODBC::db (DBI::db=HASH(0x2093200)~INNER)
thr#0155F350
! <- DESTROY= undef during global destruction
DESTROY (dbih_clearcom) (dbh 0x2092f30 0x20c1414, com 0x20bf5d8, imp
DBD::ODBC::db):
FLAGS 0x311: COMSET Warn PrintError AutoCommit
PARENT DBI::dr=HASH(0x2092f60)
KIDS 0 (0 Active)
IMP_DATA undef
! >> DESTROY DISPATCH (DBI::dr=HASH(0x2092f60) rc1/1 @1 g0 ima4
pid#2608) during global destruction
! -> DESTROY for DBD::ODBC::dr (DBI::dr=HASH(0x2092f60)~INNER)
thr#0155F350
! <- DESTROY= (not implemented) during global destruction
DESTROY (dbih_clearcom) (drh 0x1819970 0x20c0e00, com 0x20c0ffc, imp
DBD::ODBC::dr):
FLAGS 0x215: COMSET Active Warn AutoCommit
PARENT undef
KIDS 1 (1 Active)
IMP_DATA undef
dbih_clearcom 0x1819970 (com 0x20c0ffc, type 1) done.
dbih_clearcom 0x2092f30 (com 0x20bf5d8, type 2) done.
! >> DESTROY DISPATCH (DBI::dr=HASH(0x1819970) rc1/1 @1 g0 ima4
pid#2608) during global destruction
! <> DESTROY for DBI::dr=HASH(0x1819970) ignored (inner handle gone)
! >> DESTROY DISPATCH (DBI::db=HASH(0x2092f30) rc1/1 @1 g0 ima4
pid#2608) during global destruction
! <> DESTROY for DBI::db=HASH(0x2092f30) ignored (inner handle gone)
----------------------------------------------------------
-----Original Message-----
From: Jeff Urlwin [mailto:[EMAIL PROTECTED]
Sent: Saturday, August 02, 2003 12:55 AM
To: Deepak Sharma; [EMAIL PROTECTED]
Subject: RE: Problem with DBD::ODBC
>
>
> Hi All,
>
> It seems that DBD::ODBC is not returning string values. It's
> returning int values correctly. For string return values it
> retuns only first char of retrun value.
>
> I am using Perl 5.6, Win 2000, MS SQL Version 7.
>
> Here is my code.
> #### Perl Code
> my $sth = $db->prepare("{call SP_Get_Max_OrderID(?,?)}");
> $sth->bind_param_inout(1,\$retValue1, 32);
> $sth->bind_param_inout(2,\$retValue2, 32); $sth->execute;
>
> --Stored proc
> CREATE PROCEDURE SP_Get_Max_OrderID
> @MaxOrderID1 int OUTPUT,
> @MaxOrderID2 varchar(32) OUTPUT AS
>
> SELECT @MaxOrderid1 = 200 + 100
> SELECT @MaxOrderid2 = '200' + '100'
>
> return (0)
> ----
>
Please make sure you are running with MDAC 2.7 installed on your client
(and possibly the server, too).
If you are still having problems with this, post back here with a level
9 DBI trace file.
Thanks,
Jeff