I just upgraded from DBD-ODBC 1.13 to 1.15 using the ActiveState
repository (e.g. ppm install DBD-ODBC) and am now experiencing a new
"behavior" where re-executing the same prepared statement ~3 times
locks up the current process.

My info: I am running DBD-ODBC 1.15 on Windows XP (and 2003 Server in
our production facility) with ActiveState Perl 5.8.7 (build 815).  I
experience the same issue when connecting to both MSSQL 2000 and 2005
(Microsoft SQL Server  2000 - 8.00.760 (Intel X86) and Microsoft SQL
Server 2005 - 9.00.3042.00 (X64) respectively).

Note: This code *used* to work under 1.13:

# Register any extended switches supported by the map
$sth = $dbh->prepare("exec
FeedEngine..sp_RegisterSupplierSwitch ?, ?, ?, ?, ?");
while(my ($k, $v) = each %{$self->GetExtendedFlags()})
{
        Output(ref($self) . "::OnRegisterMap() registering extended switch:
$k");
        $sth->execute((
                $self->SupplierID(),
                $k,
                $v->FlagType()
                $v->ValidationRule(),
                $v->Description()
        ));
}

I don't know how helpful this is, but this is the last bit of the
trace:

   rebind check char Param 5 (Allows the map to BCP only select files
into the database.)
    dbd_st_execute (for hstmt 2433600, rc = 0)
dbd_error2(err_rc=0, what=st_execute/SQLExecute,
handles=(2431348,24313f0,2433600)
    SQLRowCount=0 (rows=1)
    dbd_st_execute got no rows: resetting ACTIVE, moreResults
    <- execute= 1 at C:\Sources\IntelliShopper\FeedEngine/FeedEngine/
BaseProcessor.pm line 351 via c:\Sources\IntelliShopper\FeedEngine
\Feeds.pl line 694
[Thu Jun 26 16:22:05 2008]: FeedEngine::Maps::CNet::OnRegisterMap()
registering extended switch: NOCNET2005
    >> execute     DISPATCH (DBI::st=HASH(0x30f532c) rc1/1 @6 g0
ima1041 pid#584
8) at C:\Sources\IntelliShopper\FeedEngine/FeedEngine/BaseProcessor.pm
line 351
via c:\Sources\IntelliShopper\FeedEngine\Feeds.pl line 694
    -> execute for DBD::ODBC::st (DBI::st=HASH(0x30f532c)~0x30f5260
10072 'NOCNET2005' 1 '[01]' 'Tells the map not to perform any CNet
2005 actions.') thr#23484
c
bind 1 <== '10072' (attribs: ), type 0
bind 2 <== 'NOCNET2005' (attribs: ), type 0
bind 3 <== '1' (attribs: ), type 0
bind 4 <== '[01]' (attribs: ), type 0
bind 5 <== 'Tells the map not to perform any CNet 2005
actions.' (attribs: ), ty
pe 0
dbd_st_execute
    dbd_st_execute (outparams = 0)...
bind 4 <== '[01]' (size 4/14/13, ptype 4, otype 1, sqltype 12)
bind 4 <== '[01]' (len 4/13, null 0)
    bind 4: CTy=1, STy=VARCHAR, CD=80, Sc=0, VM=4.
    SQLBindParameter: idx = 4: fParamType=1, name=4, fCtype=1,
SQL_Type = 12, cbColDef=80, scale=0, rgbValue = 30f5dfc, cbValueMax=4,
cbValue = 4
    Param value = [01]
   rebind check char Param 4 ([01])
bind 1 <== 10072 (size 5/6/5, ptype 5, otype 1, sqltype 4)
bind 1 <== '10072' (len 5/5, null 0)
    bind 1: CTy=1, STy=INTEGER, CD=5, Sc=5, VM=5.
    SQLBindParameter: idx = 1: fParamType=1, name=1, fCtype=1,
SQL_Type = 4, cbColDef=5, scale=5, rgbValue = 2981f7c, cbValueMax=5,
cbValue = 5
    Param value = 10072
   rebind check char Param 1 (10072)
bind 3 <== 1 (size 1/2/1, ptype 5, otype 1, sqltype 5)
bind 3 <== '1' (len 1/1, null 0)
    bind 3: CTy=1, STy=SMALLINT, CD=1, Sc=1, VM=1.
    SQLBindParameter: idx = 3: fParamType=1, name=3, fCtype=1,
SQL_Type = 5, cbC
olDef=1, scale=1, rgbValue = 30f9f0c, cbValueMax=1, cbValue = 1
    Param value = 1
   rebind check char Param 3 (1)
bind 2 <== 'NOCNET2005' (size 10/16/15, ptype 5, otype 1, sqltype 12)
bind 2 <== 'NOCNET2005' (len 10/15, null 0)
    bind 2: CTy=1, STy=VARCHAR, CD=80, Sc=0, VM=10.
    SQLBindParameter: idx = 2: fParamType=1, name=2, fCtype=1,
SQL_Type = 12, cbColDef=80, scale=0, rgbValue = 30f8e4c,
cbValueMax=10, cbValue = 10
    Param value = NOCNET2005
   rebind check char Param 2 (NOCNET2005)
bind 5 <== 'Tells the map not to perform any CNet 2005 actions.' (size
51/59/58, ptype 4, otype 1, sqltype 12)
bind 5 <== 'Tells the map not to perform any CNet 2005 actions.' (len
51/58, null 0)
    bind 5: CTy=1, STy=VARCHAR, CD=80, Sc=0, VM=51.
    SQLBindParameter: idx = 5: fParamType=1, name=5, fCtype=1,
SQL_Type = 12, cbColDef=80, scale=0, rgbValue = 30fc5d4,
cbValueMax=51, cbValue = 51
    Param value = Tells the map not to perform any CNet 2005 actions.
   rebind check char Param 5 (Tells the map not to perform any CNet
2005 actions.)
EOF

Has anyone else experienced this problem?

Reply via email to