DBI v1.14
DBD-ODBC v0.28
Win 2000
Perl 5.6.0
Microsoft dBase VFP Driver (*.dbf) v 6.01.8629.01

The following program:

#------------------------------
# tkttest.pl
use DBI;
use strict;
my $DSN= 'tkt.dsn';
my $dbh = undef;
my @row;
#DBI->trace(3);
if ( $dbh = DBI->connect("dbi:ODBC:$DSN", '', '') ) {
   print "success!\n";
   my $sth = $dbh->prepare(" SELECT TCKT_VALID, SERIAL, MACHINE  from
+tcktrdmp WHERE TCKT_VALID=89959");
    $sth->execute();
   while ( @row = $sth->fetchrow_array ) {
      print "$row[0] | $row[1] | $row[2]\n";
   }

} else {
   print "failure |$DBI::errstr|\n";
}
# -------------------------------

Produces the output:
success!
89959 | 11097840 | 1237
Which is correct, but then ends with the following error:
The instruction at "0x280706b4" referenced memory at "0x00000004". The 
memory could not be "written".

I have include a level 3 debug trace rather than the dbf which is 5 MB.

Level 3 trace output
DBI 1.14-nothread dispatch trace level set to 3
Note: perl is running without the recommended perl -w option
-> DBI->connect(dbi:ODBC:tkt.dsn, , ****)
-> DBI->install_driver(ODBC) for perl=5.006 pid=556 ruid=0 euid=0
install_driver: DBD::ODBC loaded (version 0.28)
New DBI::dr (for DBD::ODBC::dr, parent=, id=)
dbih_setup_handle(DBI::dr=HASH(0x1a7a18c)=>DBI::dr=HASH(0x1caa7fc), 
DBD::ODBC::dr, 0, Null!)
dbih_make_com(Null!, DBD::ODBC::dr, 92)
<- install_driver= DBI::dr=HASH(0x1a7a18c)
-> connect for DBD::ODBC::dr (DBI::dr=HASH(0x1a7a18c)~0x1caa7fc 'tkt.dsn' '' 
**** HASH(0x1a7f138))
New DBI::db (for DBD::ODBC::db, parent=DBI::dr=HASH(0x1caa7fc), id=)
dbih_setup_handle(DBI::db=HASH(0x1caa79c)=>DBI::db=HASH(0x1caa7c0), 
DBD::ODBC::db, 1cf0058, Null!)
dbih_make_com(DBI::dr=HASH(0x1caa7fc), DBD::ODBC::db, 92)
Driver connect 'tkt.dsn', '', ''
SQLConnect 'tkt.dsn', '', ''
<- connect= DBI::db=HASH(0x1caa79c) at DBI.pm line 408.
-> STORE for DBD::ODBC::db (DBI::db=HASH(0x1caa7c0)~INNER 'PrintError' 1)
STORE DBI::db=HASH(0x1caa7c0) 'PrintError' => 1
<- STORE= 1 at DBI.pm line 433.
-> STORE for DBD::ODBC::db (DBI::db=HASH(0x1caa7c0)~INNER 'AutoCommit' 1)
<- STORE= 1 at DBI.pm line 433.
<- connect= DBI::db=HASH(0x1caa79c)
-> prepare for DBD::ODBC::db (DBI::db=HASH(0x1caa79c)~0x1caa7c0 ' SELECT 
TCKT_VALID, SERIAL, MACHINE from tcktrdmp WHERE TCKT_VALID=89959')
New DBI::st (for DBD::ODBC::st, parent=DBI::db=HASH(0x1caa7c0), id=)
dbih_setup_handle(DBI::st=HASH(0x1cabf7c)=>DBI::st=HASH(0x1cabf34), 
DBD::ODBC::st, 1caa790, Null!)
dbih_make_com(DBI::db=HASH(0x1caa7c0), DBD::ODBC::st, 164)
dbd_st_prepare'd sql f30546080
SELECT TCKT_VALID, SERIAL, MACHINE from tcktrdmp WHERE TCKT_VALID=89959
<- prepare= DBI::st=HASH(0x1cabf7c) at tkttest.pl line 20.
-> execute for DBD::ODBC::st (DBI::st=HASH(0x1cabf7c)~0x1cabf34)
dbd_st_execute (for sql f30546080 after)...
dbd_describe sql 30546080: num_fields=3
col 1: NUMERIC len= 15 disp= 16, prec= 15 scale=0
col 2: NUMERIC len= 15 disp= 16, prec= 15 scale=0
col 3: NUMERIC len= 10 disp= 11, prec= 10 scale=0
col 1: 'tckt_valid' sqltype=NUMERIC, ctype=SQL_C_CHAR, maxlen=16
col 2: 'serial' sqltype=NUMERIC, ctype=SQL_C_CHAR, maxlen=16
col 3: 'machine' sqltype=NUMERIC, ctype=SQL_C_CHAR, maxlen=11
<- execute= -1 at tkttest.pl line 23.
-> fetchrow_array for DBD::ODBC::st (DBI::st=HASH(0x1cabf7c)~0x1cabf34)
SQLFetch rc 0
dbih_setup_fbav for 3 fields => 0x1cabef8
fetch num_fields=3
<- fetchrow_array= ( '89959' '11097840' '1237' ) 3 items at tkttest.pl line 
24.
-> fetchrow_array for DBD::ODBC::st (DBI::st=HASH(0x1cabf7c)~0x1cabf34)
SQLFetch rc 100
SQLGetFunctions - supported: 1
<- fetchrow_array= ( ) 0 items at tkttest.pl line 24. Attempt to free 
unreferenced scalar.
<> DESTROY ignored for outer handle DBI::st=HASH(0x1cabf7c) (inner 
DBI::st=HASH(0x1cabf34))
-> DESTROY for DBD::ODBC::st (DBI::st=HASH(0x1cabf34)~INNER)


If you click "Cancel" on the windows error and go to Visual C++ you get the 
error:

Unhandled exception in Perl.exe (Perl56.DLL): 0xC0000005: Access Violation

Can you help?

Thanks!
Gary
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com

Reply via email to