Hi,
I have installed and re-installed the latest release of ActiveStates Perl.
I have also installed via the PPM DBI.ppd and DBD-Oracle.ppd.
I was trying to run a perl script that is working on a Solaris box on my W2K
machine.
I whittled the script down to the following and called it by c: ... > perl
mydbicall.pl :
#!/usr/local/bin/perl
######################################################################
# SQL FUNCTIONS
######################################################################
use DBI ;
exit;
__END__
I get a pop up box telling me:
"perl.exe has generated errors and will be closed by Windows. You will need
to restart the program."
This message is generated by Dr Watson. The only information that I can
find in the generated log that seems helpfull, if I knew what it meant is:
State Dump for Thread Id 0xdc
eax=01bd8488 ebx=01bd7ec4 ecx=01bd8405 edx=fdd31ada esi=01bd84ec
edi=01a7f784
eip=1000a72e esp=0140f80c ebp=0140f854 iopl=0 nv up ei pl nz na pe
nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000202
function: <nosymbols>
1000a707 894df8 mov [ebp+0xf8],ecx
ss:01e9ce26=????????
1000a70a 8b55f4 mov edx,[ebp+0xf4]
ss:01e9ce26=????????
1000a70d 2b55f0 sub edx,[ebp+0xf0]
ss:01e9ce26=????????
1000a710 c1fa02 sar edx,0x2
1000a713 8955fc mov [ebp+0xfc],edx
ss:01e9ce26=????????
1000a716 c745ec98fa0010
ss:01e9ce26=????????
mov dword ptr [ebp+0xec],0x1000fa98
1000a71d c745dc00000000 mov dword ptr [ebp+0xdc],0x0
ss:01e9ce26=????????
1000a724 e817210000 call 1000c840
1000a729 8b00 mov eax,[eax]
ds:01bd8488=642f3a43
1000a72b 8b4df8 mov ecx,[ebp+0xf8]
ss:01e9ce26=????????
FAULT ->1000a72e 8b1488 mov edx,[eax+ecx*4]
ds:01bd8405=4001bd84
1000a731 8b4208 mov eax,[edx+0x8]
ds:fe7bf0ac=????????
1000a734 2500000400 and eax,0x40000
1000a739 85c0 test eax,eax
1000a73b 742b jz 10018f68
1000a73d e8fe200000 call 1000c840
1000a742 8b08 mov ecx,[eax]
ds:01bd8488=642f3a43
1000a744 8b55f8 mov edx,[ebp+0xf8]
ss:01e9ce26=????????
1000a747 8b0491 mov eax,[ecx+edx*4]
ds:fdd31ada=????????
1000a74a 8b08 mov ecx,[eax]
ds:01bd8488=642f3a43
1000a74c 8b5104 mov edx,[ecx+0x4]
ds:026659d7=????????
1000a74f 8955e4 mov [ebp+0xe4],edx
ss:01e9ce26=????????
*----> Stack Back Trace <----*
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0140F854 1000C90A 01A7F3CC 0140FFB0 1000CE18 00000000 !<nosymbols>
0140F87C 2803BC25 01A7F3CC 01BD7EC4 00000000 01A7F3CC !<nosymbols>
0140F8CC 28051DEE 01A7F3CC 01A7F3CC 2801F0A1 01A7F3CC !Perl_sv_compile_2op
0140F9A4 28021422 01A7F3CC 01A927A8 00000006 01A7F3CC !Perl_runops_standard
0140FA30 2801956F 01A7F3CC 00000008 01A72E68 00000000 !Perl_call_list
0140FA6C 28022BFD 01A9EF50 00000153 01A9EF2C 00000000 !Perl_newATTRSUB
00000000 00000000 00000000 00000000 00000000 00000000 !Perl_Gop_mutex_ptr
The only thing that I can think of is that some ENV VAR for Win2K isn't set,
thus perl isn't finding the dll that it needs from Oracle.
The Oracle installation that I have installed on my Win2K machine is for
Oracle 8.1.5.
I really hope someone out there can help me with this problem.
Kind Regards
Dale