Thread Perl/DBI - UPDATE "hängt" (18 answers)
Opened by ptk at 2005-02-01 17:02

nes
 2005-02-01 17:50
#32978 #32978
User since
2005-01-24
14 Artikel
BenutzerIn
[default_avatar]
Es sieht leider mit Debug-Level 9 auch kaum anders aus. Ich stell mal ein umfangreicheres Log rein, mit DBI_TRACE = 9

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
main::(mist.pl:16):     my $sth = $dbh->prepare(q{
main::(mist.pl:17): UPDATE DGKTO_BASIS
main::(mist.pl:18): SET SVT_BEITRAGSKONTONUMMER = ?
main::(mist.pl:19): WHERE VERSICHERUNGSTRAEGERCODE = ? and DIENSTGEBERKO
NTONUMMER = ?})
main::(mist.pl:20): || die "Can't prepare statement: $DBI::errstr";
DB<1>
>> prepare DISPATCH (DBI::db=HASH(0x2352d0c) rc1/1 @2 g0 ima201 pid#4048
) at mist.pl line 16
-> prepare for DBD::Oracle::db (DBI::db=HASH(0x2352d0c)~0x235bdb8 '
UPDATE DGKTO_BASIS
SET SVT_BEITRAGSKONTONUMMER = ?
WHERE VERSICHERUNGSTRAEGERCODE = ? and DIENSTGEBERKONTONUMMER = ?') thr#0183
F32C
New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x235bdb8), id=)
dbih_setup_handle(DBI::st=HASH(0x216c85c)=>DBI::st=HASH(0x235bd1c), DBD::Ora
cle::st, 216c934, Null!)
dbih_make_com(DBI::db=HASH(0x235bdb8), DBD::Oracle::st, 240) thr#0183F32C
dbih_setup_attrib(DBI::st=HASH(0x235bd1c), Err, DBI::db=HASH(0x235bdb8)) SCA
LAR(0x1a5e2c8) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x235bd1c), State, DBI::db=HASH(0x235bdb8)) S
CALAR(0x1a5e340) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x235bd1c), Errstr, DBI::db=HASH(0x235bdb8))
SCALAR(0x1a5e304) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x235bd1c), Debug, DBI::db=HASH(0x235bdb8)) 0
(already defined)
dbih_setup_attrib(DBI::st=HASH(0x235bd1c), FetchHashKeyName, DBI::db=HASH(0x
235bdb8)) 'NAME' (already defined)
dbih_setup_attrib(DBI::st=HASH(0x235bd1c), HandleError, DBI::db=HASH(0x235bd
b8)) undef (not defined)
dbd_preparse scanned 3 distinct placeholders
dbd_st_prepare'd sql f5
dbd_describe skipped for non-select (sql f5, lb 80, csr 0x234d564)
<- prepare= DBI::st=HASH(0x216c85c) at mist.pl line 16
main::(mist.pl:22): my $upd = "00000000099";
DB<1>
main::(mist.pl:23): my $key1 = "04";
DB<1>
main::(mist.pl:24): my $key2 = "00000015";
DB<1>
main::(mist.pl:26): $sth->execute($upd, $key1, $key2) or die $dbh->errstr;
DB<1>
>> execute DISPATCH (DBI::st=HASH(0x216c85c) rc1/1 @4 g0 ima41 pid#4048)
at mist.pl line 26
-> execute for DBD::Oracle::st (DBI::st=HASH(0x216c85c)~0x235bd1c '000000000
99' '04' '00000015') thr#0183F32C
bind :p1 <== '00000000099' (type 0)
bind :p1 <== '00000000099' (size 11/12/0, ptype 4, otype 1)
bind :p1 <== '00000000099' (size 11/11, otype 1, indp 0)
bind :p1 done
bind :p2 <== '04' (type 0)
bind :p2 <== '04' (size 2/3/0, ptype 4, otype 1)
bind :p2 <== '04' (size 2/2, otype 1, indp 0)
bind :p2 done
bind :p3 <== '00000015' (type 0)
bind :p3 <== '00000015' (size 8/9/0, ptype 4, otype 1)
bind :p3 <== '00000015' (size 8/8, otype 1, indp 0)
bind :p3 done
dbd_st_execute (for sql f5 after oci f62, out0)...


Mehr kommt nicht - an der Stelle hängt er schon.

Und ja, wird mir eh nichts anderes über bleiben als das mit $dbh->do(...) zu machen, wobei ich aber befürchte, daß der Script dadurch sehr langsam wird. Es kann u.U. um bis zu eine Million Datensätze gehen, was ich hier gepostet hab war ja nur ein kleiner Ausschnitt des wirklichen Scripts.

Ich hab Active Perl v5.6.1 für MSWin32-x86-multi-thread, build 638 - plus den dazugehörigen Oracle Modulen. Ich befürchte schon, daß die defekt sind ...

Wie gesagt, wird mir wohl eh nichts anderes überbleiben als es mit $dbh->do(...) zu versuchen, die Zeit um mich lang mit der Installation rumzuspielen hab ich leider grad nicht. *g*

lg., nes

View full thread Perl/DBI - UPDATE "hängt"