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?