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