in reply to Re^7: Fetching data from Access using DBI
in thread Fetching data from Access using DBI
The driver is configured this way:
henri@henri-desktop:~$ cat /etc/odbcinst.ini [ODBC] Trace = yes TraceFile = /tmp/unixodbc_trace.log [Microsoft Access Driver (*.mdb)] Description = MDB tools ODBC driver Driver = /usr/lib/libmdbodbc.so.0 FileUsage = 1 henri@henri-desktop:~$ cat /etc/odbc.ini [boutique] Description = access database Driver = Microsoft Access Driver (*.mdb) Database = /var/www/htdocs/boutique.mdb Host = localhost
here's the full dbi trace from an execution with a working query (select "ref" from $table)
henri@henri-desktop:/tmp$ cat dbitrace.log DBI 1.609-ithread default trace level set to 0x0/15 (pid 11125) at + DBI.pm line 273 via access-mdb.pl line 3 Note: perl is running without the recommended perl -w option install_method DBI::db::get_info , flags 0x2a00, usage: min 2, max 2, '$info_type' install_method DBI::db::take_imp_data, flags 0x10000, usage: min 1, max 1, '' install_method DBI::db::disconnect , flags 0x10c00, usage: min 1, max 1, '' install_method DBI::db::selectrow_array, flags 0x2000, usage: min 2, max 0, '$statement [, \%attr [, @bind_params ] ]' install_method DBI::db::tables , flags 0x2200, usage: min 1, max 6, '$catalog, $schema, $table, $type [, \%attr ] +' install_method DBI::db::quote_identifier, flags 0x0430, usage: min 2, max 6, '$name [, ...] [, \%attr ]' install_method DBI::db::clone , usage: min 1, max 2, '[\%attr]' install_method DBI::db::quote , flags 0x0430, usage: min 2, max 3, '$string [, $data_type ]' install_method DBI::db::type_info , flags 0x2200, usage: min 1, max 2, '$data_type' install_method DBI::db::statistics_info, flags 0xaa00, usage: min 6, max 7, '$catalog, $schema, $table, $unique_only, $qu +ick, [, \%attr ]' install_method DBI::db::selectrow_arrayref, flags 0x2000, usage: min 2, max 0, '$statement [, \%attr [, @bind_params ] ]' install_method DBI::db::begin_work , flags 0x0400, usage: min 1, max 2, '[ \%attr ]' install_method DBI::db::last_insert_id, flags 0x2800, usage: min 5, max 6, '$catalog, $schema, $table_name, $field_name +[, \%attr ]' install_method DBI::db::foreign_key_info, flags 0xaa00, usage: min 7, max 8, '$pk_catalog, $pk_schema, $pk_table, $fk_cata +log, $fk_schema, $fk_table [, \%attr ]' install_method DBI::db::primary_key , flags 0x2200, usage: min 4, max 5, '$catalog, $schema, $table [, \%attr ]' install_method DBI::db::commit , flags 0x0c80, usage: min 1, max 1, '' install_method DBI::db::ping , flags 0x0404, usage: min 1, max 1, '' install_method DBI::db::selectall_arrayref, flags 0x2000, usage: min 2, max 0, '$statement [, \%attr [, @bind_params ] ]' install_method DBI::db::type_info_all, flags 0x2a00, usage: min 1, max 1, '' install_method DBI::db::do , flags 0x3200, usage: min 2, max 0, '$statement [, \%attr [, @bind_params ] ]' install_method DBI::db::selectcol_arrayref, flags 0x2000, usage: min 2, max 0, '$statement [, \%attr [, @bind_params ] ]' install_method DBI::db::prepare_cached, flags 0xa200, usage: min 2, max 4, '$statement [, \%attr [, $if_active ] ]' install_method DBI::db::rows , flags 0x0004 install_method DBI::db::rollback , flags 0x0c80, usage: min 1, max 1, '' install_method DBI::db::column_info , flags 0xaa00, usage: min 5, max 6, '$catalog, $schema, $table, $column [, \%attr + ]' install_method DBI::db::table_info , flags 0xaa00, usage: min 1, max 6, '$catalog, $schema, $table, $type [, \%attr ] +' install_method DBI::db::primary_key_info, flags 0xaa00, usage: min 4, max 5, '$catalog, $schema, $table [, \%attr ]' install_method DBI::db::prepare , flags 0xa200, usage: min 2, max 3, '$statement [, \%attr]' install_method DBI::db::preparse install_method DBI::db::connected , flags 0x0004, usage: min 1, max 0, '' install_method DBI::db::data_sources, flags 0x0200, usage: min 1, max 2, '[\%attr]' install_method DBI::db::selectall_hashref, flags 0x2000, usage: min 3, max 0, '$statement, $keyfield [, \%attr [, @bind_par +ams ] ]' install_method DBI::db::selectrow_hashref, flags 0x2000, usage: min 2, max 0, '$statement [, \%attr [, @bind_params ] ]' install_method DBI::dr::default_user, usage: min 3, max 4, '$user, $pass [, \%attr]' install_method DBI::dr::data_sources, flags 0x0800, usage: min 1, max 2, '[\%attr]' install_method DBI::dr::dbixs_revision, flags 0x0004 install_method DBI::dr::disconnect_all, flags 0x0800, usage: min 1, max 1, '' install_method DBI::dr::connect_cached, flags 0x8000, H 3, usage: min 1, max 5, '[$db [,$user [,$passwd [,\%attr]]]]' install_method DBI::dr::connect , flags 0x8000, H 3, usage: min 1, max 5, '[$db [,$user [,$passwd [,\%attr]]]]' install_method DBI::st::more_results, usage: min 1, max 1, '' install_method DBI::st::blob_read , usage: min 4, max 5, '$field, $offset, $len [, \$buf [, $bufoffset +]]' install_method DBI::st::fetchall_hashref, usage: min 2, max 2, '$key_field' install_method DBI::st::bind_param_inout_array, usage: min 4, max 5, '$parameter, \@var, $maxlen, [, \%attr]' install_method DBI::st::finish , usage: min 1, max 1, '' install_method DBI::st::rows , flags 0x0004 install_method DBI::st::execute_for_fetch, flags 0x5040, usage: min 2, max 3, '$fetch_sub [, $tuple_status]' install_method DBI::st::fetchrow_hashref install_method DBI::st::_get_fbav install_method DBI::st::_set_fbav , T 6 install_method DBI::st::fetchrow install_method DBI::st::fetch install_method DBI::st::execute_array, flags 0x5040, usage: min 2, max 0, '\%attribs [, @args]' install_method DBI::st::dump_results, usage: min 1, max 5, '$maxfieldlen, $linesep, $fieldsep, $filehand +le' install_method DBI::st::bind_param_array, usage: min 3, max 4, '$parameter, $var [, \%attr]' install_method DBI::st::fetchrow_array install_method DBI::st::execute , flags 0x1040, usage: min 1, max 0, '[@args]' install_method DBI::st::bind_col , usage: min 3, max 4, '$column, \$var [, \%attr]' install_method DBI::st::fetchall_arrayref, usage: min 1, max 3, '[ $slice [, $max_rows]]' install_method DBI::st::fetchrow_arrayref install_method DBI::st::bind_param_inout, usage: min 4, max 5, '$parameter, \$var, $maxlen, [, \%attr]' install_method DBI::st::bind_columns, usage: min 2, max 0, '\$var1 [, \$var2, ...]' install_method DBI::st::cancel , flags 0x0800, usage: min 1, max 1, '' install_method DBI::st::blob_copy_to_file, usage: min 3, max 3, '$field, $filename_or_handleref' install_method DBI::st::bind_param , usage: min 3, max 4, '$parameter, $var [, \%attr]' install_method DBI::common::parse_trace_flag, flags 0x0404, T 8, usage: min 2, max 2, '$name' install_method DBI::common::errstr , flags 0x0004 install_method DBI::common::trace_msg, flags 0x0004, T 8, usage: min 2, max 3, '$message_text [, $min_level ]' install_method DBI::common::err , flags 0x0004 install_method DBI::common::CLEAR , flags 0x0004 install_method DBI::common::state , flags 0x0004 install_method DBI::common::_not_impl install_method DBI::common::NEXTKEY , flags 0x0004 install_method DBI::common::trace , flags 0x0004, usage: min 1, max 3, '[$trace_level, [$filename]]' install_method DBI::common::debug , flags 0x0004, usage: min 1, max 2, '[$debug_level]' install_method DBI::common::parse_trace_flags, flags 0x0404, T 8, usage: min 2, max 2, '$flags' install_method DBI::common::private_attribute_info install_method DBI::common::swap_inner_handle, usage: min 2, max 3, '$h [, $allow_reparent ]' install_method DBI::common::EXISTS , flags 0x0004 install_method DBI::common::visit_child_handles, flags 0x0404, T 4, usage: min 2, max 3, '$coderef [, $info ]' install_method DBI::common::FETCH , flags 0x0404 install_method DBI::common::FIRSTKEY, flags 0x0004 install_method DBI::common::set_err , flags 0x0010, usage: min 3, max 6, '$err, $errmsg [, $state, $method, $rv]' install_method DBI::common::DESTROY , flags 0x10004 install_method DBI::common::dump_handle, flags 0x0004, usage: min 1, max 3, '[$message [, $level]]' install_method DBI::common::FETCH_many, flags 0x0404 install_method DBI::common::can , flags 0x0100 install_method DBI::common::STORE , flags 0x041c install_method DBI::common::private_data, flags 0x0004, usage: min 1, max 1, '' install_method DBI::common::func , flags 0x0006 non-Unicode login6 dbd_db_login6 SQLDriverConnect 'boutique', 'HASH(0x8153c28)', 'xxxx' SQLConnect 'boutique', 'HASH(0x8153c28)' Turning autocommit on DRIVER_ODBC_VER = DRIVER_NAME = DRIVER_VERSION = DBD::ODBC is unicode built : NO SQL_DBMS_NAME = zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz +zzzzzzzzzz SQLMoreResults supported: 0 SQLDescribeParam supported: 0 SQLDescribeParam supported: 0 Processing sql in non-unicode mode SQLDisconnect=0
the query select "desc2" from $table returns the first row and then produces a segmentation fault (or 500 server error if run from a browser). the output in dbitrace.log does not change. Every select on other fields goes fine, only the "desc2" crashes.
I'll submit the case to the dbi mailing list. For practical purposes, however, I'll try another route, maybe CVS
When I was testing my odbc setup, I used openoffice base to open, via the odbc driver, the m$ access base. I was able to open the file but oo base crashed when I tried to open the "articles" table. So it appears that something is wrong with the driver. Could that be related to unicode?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^9: Fetching data from Access using DBI
by mje (Curate) on Aug 12, 2009 at 09:59 UTC | |
by hacheb (Novice) on Aug 12, 2009 at 16:19 UTC | |
by mje (Curate) on Aug 12, 2009 at 20:46 UTC | |
by hacheb (Novice) on Aug 13, 2009 at 08:04 UTC |