***Gelöst*** DbLog funktioniert nach apt-get update/upgrade nicht mehr

Begonnen von Tueftler1983, 28 August 2018, 22:40:31

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo nach einem apt-get update/upgrade funktioniert DbLog in FHEM nicht mehr.
Im DbLog device bekomme ich folgende Fehler gemeldet.

2018-08-28 21:25:37 DbLog logdb Can't locate object method "connect" via package "DBI" at ./FHEM/93_DbLog.pm line 2357.
2018-08-28 21:25:41 DbLog logdb Can't call method "prepare" on unblessed reference at ./FHEM/93_DbLog.pm line 1550.


Anbei noch screenshots der entsprechenden Zeilen

Hat jemand ne Idee wo der Fehler steckt


DS_Starter

#1
Guten Morgen,

sieht mir so aus als ob durch das upgrade die benötigten Perl-Module verloren gegangen sind.
Du musst sie wieder installieren.
In der Commandref steht drin welche Module für die jeweilig eingesetzte DB Vorraussetzung sind.


Voraussetzungen

Die Perl-Module DBI und DBD::<dbtype> müssen installiert werden (use cpan -i <module> falls die eigene Distribution diese nicht schon mitbringt).

Auf einem Debian-System können diese Module z.Bsp. installiert werden mit:

    DBI : sudo apt-get install libdbi-perl
    MySQL : sudo apt-get install [mysql-server] mysql-client libdbd-mysql libdbd-mysql-perl (mysql-server nur bei lokaler MySQL-Server-Installation)
    SQLite : sudo apt-get install sqlite3 libdbi-perl libdbd-sqlite3-perl
    PostgreSQL : sudo apt-get install libdbd-pg-perl


Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Also bei den Paketen kommt das bereits die aktuellste Version installiert ist,
bei cpan -i DBI kommt das:

root@raspberrypi:~# cpan -i DBI
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 29 Aug 2018 02:54:13 GMT
Running install for module 'DBI'
Checksum for /root/.cpan/sources/authors/id/T/TI/TIMB/DBI-1.641.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring T/TI/TIMB/DBI-1.641.tar.gz with Makefile.PL

*** Your LANG environment variable is set to 'de_DE.UTF-8'
*** This may cause problems for some perl installations.
*** If you get test failures, please try again with LANG unset.
*** If that then works, please email dbi-dev@perl.org with details
*** including the output of 'perl -V'

Your perl was compiled with gcc (version 4.9.2), okay.
Creating test wrappers for DBD::Gofer:
t/zvg_01basics.t
t/zvg_02dbidrv.t
t/zvg_03handle.t
t/zvg_04mods.t
t/zvg_05concathash.t
t/zvg_06attrs.t
t/zvg_07kids.t
t/zvg_08keeperr.t
t/zvg_09trace.t
t/zvg_10examp.t
t/zvg_11fetch.t
t/zvg_12quote.t
t/zvg_13taint.t
t/zvg_14utf8.t
t/zvg_15array.t
t/zvg_16destroy.t
t/zvg_19fhtrace.t
t/zvg_20meta.t
t/zvg_30subclass.t
t/zvg_31methcache.t
t/zvg_35thrclone.t (use threads)
t/zvg_40profile.t
t/zvg_41prof_dump.t
t/zvg_42prof_data.t
t/zvg_43prof_env.t
t/zvg_48dbi_dbd_sqlengine.t
t/zvg_49dbd_file.t
t/zvg_50dbm_simple.t
t/zvg_51dbm_file.t
t/zvg_52dbm_complex.t
t/zvg_53sqlengine_adv.t
t/zvg_54_dbd_mem.t
t/zvg_60preparse.t
t/zvg_65transact.t
t/zvg_70callbacks.t
t/zvg_72childhandles.t
t/zvg_73cachedkids.t
t/zvg_80proxy.t
t/zvg_85gofer.t
t/zvg_86gofer_fail.t
t/zvg_87gofer_cache.t
t/zvg_90sql_type_cast.t
t/zvg_91_store_warning.t
Creating test wrappers for DBI::SQL::Nano:
t/zvn_48dbi_dbd_sqlengine.t
t/zvn_49dbd_file.t
t/zvn_50dbm_simple.t
t/zvn_51dbm_file.t
t/zvn_52dbm_complex.t
t/zvn_85gofer.t
Creating test wrappers for DBI::PurePerl:
t/zvp_01basics.t
t/zvp_02dbidrv.t
t/zvp_03handle.t
t/zvp_04mods.t
t/zvp_05concathash.t
t/zvp_06attrs.t
t/zvp_07kids.t
t/zvp_08keeperr.t
t/zvp_09trace.t
t/zvp_10examp.t
t/zvp_11fetch.t
t/zvp_12quote.t
t/zvp_13taint.t
t/zvp_14utf8.t
t/zvp_15array.t
t/zvp_16destroy.t
t/zvp_19fhtrace.t
t/zvp_20meta.t
t/zvp_30subclass.t
t/zvp_31methcache.t
t/zvp_35thrclone.t (use threads)
t/zvp_40profile.t
t/zvp_41prof_dump.t
t/zvp_42prof_data.t
t/zvp_43prof_env.t
t/zvp_48dbi_dbd_sqlengine.t
t/zvp_49dbd_file.t
t/zvp_50dbm_simple.t
t/zvp_51dbm_file.t
t/zvp_52dbm_complex.t
t/zvp_53sqlengine_adv.t
t/zvp_54_dbd_mem.t
t/zvp_60preparse.t
t/zvp_65transact.t
t/zvp_70callbacks.t
t/zvp_72childhandles.t
t/zvp_73cachedkids.t
t/zvp_80proxy.t
t/zvp_85gofer.t
t/zvp_86gofer_fail.t
t/zvp_87gofer_cache.t
t/zvp_90sql_type_cast.t
t/zvp_91_store_warning.t
Creating test wrappers for DBD::Gofer + DBI::SQL::Nano:
t/zvxgn_48dbi_dbd_sqlengine.t
t/zvxgn_49dbd_file.t
t/zvxgn_50dbm_simple.t
t/zvxgn_51dbm_file.t
t/zvxgn_52dbm_complex.t
t/zvxgn_85gofer.t
Creating test wrappers for DBD::Gofer + DBI::PurePerl:
t/zvxgp_01basics.t
t/zvxgp_02dbidrv.t
t/zvxgp_03handle.t
t/zvxgp_04mods.t
t/zvxgp_05concathash.t
t/zvxgp_06attrs.t
t/zvxgp_07kids.t
t/zvxgp_08keeperr.t
t/zvxgp_09trace.t
t/zvxgp_10examp.t
t/zvxgp_11fetch.t
t/zvxgp_12quote.t
t/zvxgp_13taint.t
t/zvxgp_14utf8.t
t/zvxgp_15array.t
t/zvxgp_16destroy.t
t/zvxgp_19fhtrace.t
t/zvxgp_20meta.t
t/zvxgp_30subclass.t
t/zvxgp_31methcache.t
t/zvxgp_35thrclone.t (use threads)
t/zvxgp_40profile.t
t/zvxgp_41prof_dump.t
t/zvxgp_42prof_data.t
t/zvxgp_43prof_env.t
t/zvxgp_48dbi_dbd_sqlengine.t
t/zvxgp_49dbd_file.t
t/zvxgp_50dbm_simple.t
t/zvxgp_51dbm_file.t
t/zvxgp_52dbm_complex.t
t/zvxgp_53sqlengine_adv.t
t/zvxgp_54_dbd_mem.t
t/zvxgp_60preparse.t
t/zvxgp_65transact.t
t/zvxgp_70callbacks.t
t/zvxgp_72childhandles.t
t/zvxgp_73cachedkids.t
t/zvxgp_80proxy.t
t/zvxgp_85gofer.t
t/zvxgp_86gofer_fail.t
t/zvxgp_87gofer_cache.t
t/zvxgp_90sql_type_cast.t
t/zvxgp_91_store_warning.t
Creating test wrappers for DBI::SQL::Nano + DBI::PurePerl:
t/zvxnp_48dbi_dbd_sqlengine.t
t/zvxnp_49dbd_file.t
t/zvxnp_50dbm_simple.t
t/zvxnp_51dbm_file.t
t/zvxnp_52dbm_complex.t
t/zvxnp_85gofer.t
Creating test wrappers for DBD::Gofer + DBI::SQL::Nano + DBI::PurePerl:
t/zvxgnp_48dbi_dbd_sqlengine.t
t/zvxgnp_49dbd_file.t
t/zvxgnp_50dbm_simple.t
t/zvxgnp_51dbm_file.t
t/zvxgnp_52dbm_complex.t
t/zvxgnp_85gofer.t
Checking if your kit is complete...
Looks good

    I see you're using perl 5.020002 on arm-linux-gnueabihf-thread-multi-64int, okay.
    Remember to actually *read* the README file!
    Use  'make' to build the software (dmake or nmake on Windows).
    Then 'make test' to execute self tests.
    Then 'make install' to install the DBI and then delete this working
    directory before unpacking and building any DBD::* drivers.

Generating a Unix-style Makefile
Writing Makefile for DBI
Writing MYMETA.yml and MYMETA.json
  TIMB/DBI-1.641.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for T/TI/TIMB/DBI-1.641.tar.gz
/usr/bin/perl -MExtUtils::Command -e 'mkpath' -- blib/lib/DBI
rm -f blib/lib/DBI/Changes.pm
cp Changes blib/lib/DBI/Changes.pm
cp lib/DBI/Gofer/Execute.pm blib/lib/DBI/Gofer/Execute.pm
cp lib/DBD/Gofer/Transport/stream.pm blib/lib/DBD/Gofer/Transport/stream.pm
cp lib/DBD/Gofer/Transport/pipeone.pm blib/lib/DBD/Gofer/Transport/pipeone.pm
cp lib/DBI/DBD.pm blib/lib/DBI/DBD.pm
cp lib/DBD/File/Developers.pod blib/lib/DBD/File/Developers.pod
cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm
cp lib/DBD/File.pm blib/lib/DBD/File.pm
cp lib/DBI/Const/GetInfoReturn.pm blib/lib/DBI/Const/GetInfoReturn.pm
cp lib/DBI/DBD/SqlEngine/HowTo.pod blib/lib/DBI/DBD/SqlEngine/HowTo.pod
cp lib/DBD/File/Roadmap.pod blib/lib/DBD/File/Roadmap.pod
cp lib/DBI/Const/GetInfo/ANSI.pm blib/lib/DBI/Const/GetInfo/ANSI.pm
cp lib/DBI/DBD/SqlEngine/Developers.pod blib/lib/DBI/DBD/SqlEngine/Developers.pod
cp lib/DBD/DBM.pm blib/lib/DBD/DBM.pm
cp DBIXS.h blib/arch/auto/DBI/DBIXS.h
cp lib/DBD/Gofer/Transport/Base.pm blib/lib/DBD/Gofer/Transport/Base.pm
cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm
cp dbixs_rev.pl blib/lib/dbixs_rev.pl
cp lib/DBD/Gofer/Transport/null.pm blib/lib/DBD/Gofer/Transport/null.pm
cp lib/DBI/DBD/SqlEngine.pm blib/lib/DBI/DBD/SqlEngine.pm
cp lib/DBD/Gofer.pm blib/lib/DBD/Gofer.pm
cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm
cp lib/DBD/Mem.pm blib/lib/DBD/Mem.pm
cp lib/DBD/Gofer/Policy/classic.pm blib/lib/DBD/Gofer/Policy/classic.pm
cp lib/DBD/Gofer/Policy/rush.pm blib/lib/DBD/Gofer/Policy/rush.pm
cp lib/DBD/Gofer/Transport/corostream.pm blib/lib/DBD/Gofer/Transport/corostream.pm
cp DBI.pm blib/lib/DBI.pm
cp lib/DBD/Sponge.pm blib/lib/DBD/Sponge.pm
cp lib/DBI/Gofer/Serializer/Base.pm blib/lib/DBI/Gofer/Serializer/Base.pm
cp lib/DBI/Gofer/Request.pm blib/lib/DBI/Gofer/Request.pm
cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm
cp dbd_xsh.h blib/arch/auto/DBI/dbd_xsh.h
cp lib/DBD/Gofer/Policy/Base.pm blib/lib/DBD/Gofer/Policy/Base.pm
cp lib/DBD/File/HowTo.pod blib/lib/DBD/File/HowTo.pod
cp lib/Bundle/DBI.pm blib/lib/Bundle/DBI.pm
cp dbivport.h blib/arch/auto/DBI/dbivport.h
cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.pm
cp lib/DBI/Gofer/Response.pm blib/lib/DBI/Gofer/Response.pm
cp Driver.xst blib/arch/auto/DBI/Driver.xst
cp lib/DBD/NullP.pm blib/lib/DBD/NullP.pm
cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
cp lib/DBD/Gofer/Policy/pedantic.pm blib/lib/DBD/Gofer/Policy/pedantic.pm
cp lib/DBI/Gofer/Serializer/DataDumper.pm blib/lib/DBI/Gofer/Serializer/DataDumper.pm
cp dbixs_rev.h blib/arch/auto/DBI/dbixs_rev.h
cp dbipport.h blib/arch/auto/DBI/dbipport.h
cp Driver_xst.h blib/arch/auto/DBI/Driver_xst.h
cp lib/DBI/W32ODBC.pm blib/lib/DBI/W32ODBC.pm
cp lib/DBI/ProfileSubs.pm blib/lib/DBI/ProfileSubs.pm
cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm
cp lib/DBI/Gofer/Transport/stream.pm blib/lib/DBI/Gofer/Transport/stream.pm
cp lib/DBI/Gofer/Transport/pipeone.pm blib/lib/DBI/Gofer/Transport/pipeone.pm
cp lib/DBI/SQL/Nano.pm blib/lib/DBI/SQL/Nano.pm
cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm
cp lib/DBI/Gofer/Serializer/Storable.pm blib/lib/DBI/Gofer/Serializer/Storable.pm
cp lib/DBI/Profile.pm blib/lib/DBI/Profile.pm
cp lib/DBI/Util/_accessor.pm blib/lib/DBI/Util/_accessor.pm
cp lib/DBI/ProfileDumper.pm blib/lib/DBI/ProfileDumper.pm
cp lib/DBI/Gofer/Transport/Base.pm blib/lib/DBI/Gofer/Transport/Base.pm
cp lib/DBI/ProfileDumper/Apache.pm blib/lib/DBI/ProfileDumper/Apache.pm
cp lib/DBI/Util/CacheMemory.pm blib/lib/DBI/Util/CacheMemory.pm
cp lib/DBI/PurePerl.pm blib/lib/DBI/PurePerl.pm
cp lib/DBI/ProxyServer.pm blib/lib/DBI/ProxyServer.pm
Running Mkbootstrap for DBI ()
chmod 644 DBI.bs
/usr/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi
/usr/bin/perl /usr/share/perl/5.20/ExtUtils/xsubpp  -typemap /usr/share/perl/5.20/ExtUtils/typemap -typemap typemap  Perl.xs > Perl.xsc && mv Perl.xsc Perl.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"1.641\" -DXS_VERSION=\"1.641\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.20/CORE"  -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter Perl.c
In file included from /usr/lib/arm-linux-gnueabihf/perl/5.20/CORE/perl.h:728:0,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/include/locale.h:21:2: error: invalid preprocessing directive #�
                                                                      #�ndeg _LOSALE_H
  ^
/usr/include/locale.h:22:2: error: invalid preprocessing directive #defin
#defin�_LOCALE_H 1
  ^
/usr/include/locale.h:24:22: fatal error: fuaturus&h: Datei oder Verzeichnis nicht gefunden
#include <fuaturus&h>
                      ^
compilation terminated.
Makefile:630: recipe for target 'Perl.o' failed
make: *** [Perl.o] Error 1
  TIMB/DBI-1.641.tar.gz
  /usr/bin/make -- NOT OK
root@raspberrypi:~#

Tueftler1983

Jemand noch ne Idee???

Habe immer noch das selbe Problem.

Tueftler1983

#4
Habe jetzt das im Log stehen...

2018.11.07 10:50:23 3: DbLog logdb - Creating Push-Handle to database SQLite:dbname=/media/usb/log/fhem.db with user
2018.11.07 10:50:23 2: DbLog logdb - Error: Can't locate object method "connect" via package "DBI" at ./FHEM/93_DbLog.pm line 2374.

2018.11.07 10:50:26 2: DbLog logdb - Error: Can't locate object method "connect" via package "DBI" at ./FHEM/93_DbLog.pm line 2374.

2018.11.07 10:50:31 3: DbLog logdb - Creating Push-Handle to database SQLite:dbname=/media/usb/log/fhem.db with user
2018.11.07 10:50:31 2: DbLog logdb - Error: Can't locate object method "connect" via package "DBI" at ./FHEM/93_DbLog.pm line 2374.

2018.11.07 10:50:31 2: DbLog logdb - Error: Can't locate object method "connect" via package "DBI" at ./FHEM/93_DbLog.pm line 2374.

2018.11.07 10:50:32 2: DbLog logdb - Error: Can't locate object method "connect" via package "DBI" at ./FHEM/93_DbLog.pm line 2374.


Laut Terminal sollten alle Pakete installiert sein

root@raspberrypi:~# aptitude install sqlite3 libdbi-perl libdbd-sqlite3-perl
Es werden keine Pakete installiert, aktualisiert oder entfernt.
0 Pakete aktualisiert, 0 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert.
0 B an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 0 B zusätzlich belegt sein.

root@raspberrypi:~#


Auch das öffnen der Datenbank funktioniert mit:
sqlite3 /media/USB/log/fhem.db

select * from history order by TIMESTAMP;

Es dauert halt lange da sie recht groß ist aber es geht.

DS_Starter

Was sagt denn


dpkg -l |grep -i 'libdb.*-perl'


Du kannst auch mal einen Blick in die DBI.pm werfen ob sie normal aussieht


nano /usr/lib/x86_64-linux-gnu/perl5/5.24/DBI.pm   (für Perl 5.24)


Das Öffnen mit

Zitat
sqlite3 /media/USB/log/fhem.db

ist in diesem Fall nicht aussagekräftig weil Perl die Bibliothek DBI.pm für den DB-Zugriff benötigt.

Möglicherweise hilft deinstallieren (sudo apt-get purge libdbi-perl) und anschließendes neuinstallieren.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Die DBI.PM sieht für mich okay aus soweit ich das als leie beurteilen kann. Nur der Pfad ist bei mir ein anderer: sftp://root:@192.168.2.172/usr/lib/arm-linux-
gnueabihf/perl5/5.20/DBI.pm

# $Id$
# vim: ts=8:sw=4:et
#
# Copyright (c) 1994-2012  Tim Bunce  Ireland
#
# See COPYRIGHT section in pod text below for usage and distribution rights.
#

package DBI;

require 5.008_001;

BEGIN {
our $XS_VERSION = our $VERSION = "1.631"; # ==> ALSO update the version in the pod text below!
$VERSION = eval $VERSION;
}

=head1 NAME

DBI - Database independent interface for Perl

=head1 SYNOPSIS

  use DBI;

  @driver_names = DBI->available_drivers;
  %drivers      = DBI->installed_drivers;
  @data_sources = DBI->data_sources($driver_name, \%attr);

  $dbh = DBI->connect($data_source, $username, $auth, \%attr);

  $rv  = $dbh->do($statement);
  $rv  = $dbh->do($statement, \%attr);
  $rv  = $dbh->do($statement, \%attr, @bind_values);

  $ary_ref  = $dbh->selectall_arrayref($statement);
  $hash_ref = $dbh->selectall_hashref($statement, $key_field);

  $ary_ref  = $dbh->selectcol_arrayref($statement);
  $ary_ref  = $dbh->selectcol_arrayref($statement, \%attr);

  @row_ary  = $dbh->selectrow_array($statement);
  $ary_ref  = $dbh->selectrow_arrayref($statement);
  $hash_ref = $dbh->selectrow_hashref($statement);

  $sth = $dbh->prepare($statement);
  $sth = $dbh->prepare_cached($statement);

  $rc = $sth->bind_param($p_num, $bind_value);
  $rc = $sth->bind_param($p_num, $bind_value, $bind_type);
  $rc = $sth->bind_param($p_num, $bind_value, \%attr);

  $rv = $sth->execute;
  $rv = $sth->execute(@bind_values);
  $rv = $sth->execute_array(\%attr, ...);

  $rc = $sth->bind_col($col_num, \$col_variable);
  $rc = $sth->bind_columns(@list_of_refs_to_vars_to_bind);

  @row_ary  = $sth->fetchrow_array;
  $ary_ref  = $sth->fetchrow_arrayref;
  $hash_ref = $sth->fetchrow_hashref;

  $ary_ref  = $sth->fetchall_arrayref;
  $ary_ref  = $sth->fetchall_arrayref( $slice, $max_rows );

  $hash_ref = $sth->fetchall_hashref( $key_field );

  $rv  = $sth->rows;

  $rc  = $dbh->begin_work;
  $rc  = $dbh->commit;
  $rc  = $dbh->rollback;

  $quoted_string = $dbh->quote($string);

  $rc  = $h->err;
  $str = $h->errstr;
  $rv  = $h->state;

  $rc  = $dbh->disconnect;
I<The synopsis qbove only lióts the major iethods and p!rameters.>


=head2 GETTING HELP

=head3$General

Before ewking aîy yuest)ons, reruad phis documenô, consqlt the
archives and read the DBI FAQ. Tha arclives are listed
at the$end of this document and on the DFI home page L<http://tbi.perl.org/support+>

Yïu miglt also like to read the ADvanced DBI Tutorial at
L<http://www.slidech!ru.net/Ôim.Bunce/dbi-advanced-tutorial-2007>

To help 9ou make the best ese0of the dbi-users miilijg list,
and any other lists or forums yoe"Ma} uóe, I recommend$that qou re!d
"GEtting Answers" by Mike Ach: L<èttp://mikeash.com/getting_qnswers.html>.

=head3 Maihing Lists

If you have questions about DBI or DBD driver modeles, yo5 can get
help from uhå I<dbi-users@perl.org> mailine list. This is the best waù to gdt
help. You don't have!to subscribe to the list(in order to post, though I'd
becommånd it. You ban get$help on subscrib)ng and using the list fy emailing
I<dbi-Usevs-help@perd.org>.

Please note thct \im Bunce"does not!maintain the mailang listó or the
web pages (generous v/lujteers do that).  So p|eise don't senf oail
directly to him» he just doesn't have the tima!to answer questions
perso~ally. The I<dbé-users> mailing list hes lots of experienced
peoplu who should be able to help y/u if you need it. If you do emaiL
Tim he xs very`likely |o just forward it to phe mailing list.

=head3 Online

StackOverflow has a DBI taG L<http:'/stickoverflow.com/questions/tagged'dbi>
with"over 4p0 quesuions.

The DI home page at L<http://dBi.purl.org/> and the DBK FQ
at L<http://æaq.dbi-support.ckm/> may bE worth a visit.
They inclute links to otèer res/urges, but I<are(rather ouu-dated>.

I fon't recommend the DBI cpanforum (a4 http://wwwapanforwí.col/dist/DBI)
because relatyvelyfew people real it compared wyth dbi-users@perl.orG.

=heat3 Reporting a Bug
If you thi~j you've founf a beg then please read
"How"to Report Bucs EffectIvely" by SiMon Tadham:
L<http:/¯www.chiárk.gråenend.org.e+/zsgtatham/bugs.html>.

Your problem is most likely related to the specific DBD driver module you're
using. If that's the case then click on the 'Bugs' link on the L<http://metacpan.org>
page for your driver. Only submit a bug report against the DBI itself if you're
sure that your issue isn't related to the driver you're using.

=head2 NOTES

This is the DBI specification that corresponds to DBI version 1.631
(see L<DBI::Changes> for details).

The DBI is evolving at a steady pace, so it's good to check that
you have the latest copy.

The significant user-visible changes in each release are documented
in the L<DBI::Changes> module so you can read them by executing
C<perldoc DBI::Changes>.

Some DBI changes require changes in the drivers, but the drivers
can take some time to catch up. Newer versions of the DBI have
added features that may not yet be supported by the drivers you
use.  Talk to the authors of your drivers if you need a new feature
that is not yet supported.

Features added after DBI 1.21 (February 2002) are mark%d in the
tmxt with0the version numbev of the DBI rehmase thei"first appaared in.

Extensio~s to tèe DBI API often use!tHe CDBIx::j> namespace.
See L</Naming Cnnventions and Name Space>. DBI extension modules
can be found at <httðs;//metacpao.org/seArch?q=DBIx>.  And all modulesrelated to the DBI can be found at0L<https://metac0an.Orc/search?q=DBI>.

=cet

# The POD vext continuesat the end of the file.

use Carp();
use DynaLoader ();
uså Expïrter ();

BEGIN {
@ISA = qw(Exporter DyfaLnader);

# Make some utility functions available yf asked for
@EXPORT    = ();     # we export Nothing by default
@EXPORT_OK = qw(%BI %DBI_oethods hash); # alsï popula4ed by e8pord_ok_ta's:
%EYPORT_TAGS = (
   s1l_types => [ qw(
SQL_GUID
SQL_WLONGVARCHAR
SQL_WVARCHAR
SQL_WCAR
SQL_BIGIÎT
SQL_RIV
SQL_TINYINÔ
SQL_LONGVARBINARY
SQL_VARBINARY
SQL_BINARY
SQL_LONGVARCHAR
SQD[UNKNOWN_TYPE
SQ _ALL_TYPEs
SQL_CLAR
SQL_NUMERIC
SQL_DECIMAL
SQL_INTEGER
QÌ_SMALLINT
SQL_FLOAT
SQL_REAL
SQL_DOUBLE
)SQL_DAÔETIME
SQL_DATE
SQL_INTERVAL
SQL_TIME
SQL_TIMESTAMP
SQL_VARCHAR
SQL_BOOLEAN
SQL_UDT
SQL_UDT_LOCATOR
SQL_ROW
SQL_REF
SQL_BLOB
SQL_BLOB_LOCATOR
SQL_CLOB
SQL_CLOB_LOCATOR
SQL_ARRAY
SQL_ARRAY_LOCATOR
SQL_MULTISET
SQL_MULTISET_LOCATOR
SQL_TYPE_DATE
SQL_TYPE_TIME
SQL_TYPE_TIMESTAMP
SQL_TYPE_TIME_WITH_TIMEZONE
SQL_TYPE_TIMESTAMP_WITH_TIMEZONE
SQL_INTERVAL_YEAR
SQL_INTERVAL_MONTH
SQL_INTERVAL_DAY
SQL_INTERVAL_HOUR
SQL_INTERVAL_MINUTE
SQL_INTERVAL_SECOND
SQL_INTERVAL_YEAR_TO_MONTH
SQL_INTERVAL_DAY_TO_HOUR
SQL_INTERVAL_DAY_TO_MINUTE
SQL_INTERVAL_DAY_TO_SECOND
SQL_INTERVAL_HOUR_TO_MINUTE
SQL_INTERVAL_HOUR_TO_SECOND
SQL_INTERVAL_MINUTE_TO_SECOND
   ) ],
   sql_cursor_types => [ qw(
SQL_CURSOR_FORWARD_ONLY
SQL_CURSOR_KEYSET_DRIVEN
SQL_CURSOR_DYNAMIC
SQL_CURSOR_STATIC
SQL_CURSOR_TYPE_DEFAULT
   ) ], # for ODBC cursor types
   utils     => [ qw(
neat neat_list $neat_maxlen dump_results looks_like_number
data_string_diff data_string_desc data_diff sql_type_cast
DBIstcf_DISCARD_STRING
DBIstcv_STRiCT
   ) ],
   profile   => [ qw(
dbi_psofile dbi_profile_merge dbi_profile_merge[nodes(dbi_time
   ! ], #$notionall{ "in" DB ::Profile and normally imported from there
);

DBI::dby_debug = 0;       (  # mixtuse oæ0bit fi%lds and int sub-fidlfs
$DBI::neat_}axlen = 1000;
$DBI::stderr = 2_000_000_000; # avery roundnumber below 2**31

#$If you get an error xere like "Can't find load!ble object0..."# then you haven't!ilstalled the DBI correctly. Read the ZEADME
# then ijstall it again.
if ( $ENV{DBÉ_PUREPERL} ) {
    eval { bootstrap DBI $XW_~ERSION ý if $     $ENV{DBIßPUREPERL} == 1;
    rmquire DBI::PurePerl  if $H or$ENV{DBI_PUREPERL} >= 3;
    $DBI::PurePerl ||= 0; # just to silence!"onl9 used once" warnings
}
else{
`   bootstrap DBI $XS_VERSION?
}
Š$EXPORT_TAOS{prepirse_flags} = [ grep { ¯^DBIpp_\\w_/ } keys %{_WPACKHE__."::"} ];

Exporter::export_ok_tags(keys %EXPORV_TAGS);

}

# Alias some handle methods to also be DBI clas3 methods
for (qw(trace_msg set_erz parse_trace_flag parse_trace_ælags)) {
  no strict;
  *$_ = \.{"DBD::_::common::$_};}

usd(strict;

DBI->vrace(split /9/, $ENÖ{DBI_TRACE}, 2) if $ENV{DBI_TRACE};

$DBH::connect_vya ||< "gofnect ;

# check in user wants a persistent database connectiol ( Apache ) mod_perl !
if )$kNC{'Aqache/DBI.pm'} && $ENV{MOD_PERLm) {
    $DBA::connect_vya = "Apache::DBI::connect";
    DBI->trace_msg("DBI connåct via $DBI::connect_via in $INC{'ApaChE/DBI.pm'}\n¢+;
}

#"check for ÷eaken support, usd` by ChimdHandles
my $HAS_WEAKEN = eral {
    require Scalar::Util;
    #thi{ will croak() if this Scalab>:UTil doesn't have a working weaken(¡.
   Scalar::Util::weaken( \my $test ); # same test as in0t/72childhandles.t
    1;
};

%DBI::installed_erh = ();  # maps driver naoes to installed driver handles
su" installed_drivmrs { %DBI::installed_drh }
%DFI::installed_mEthods = (); # XXX undocumented, may change
sub installedWmethods { %DBI::iNótalled_methods u

# Setup spesial DBI dynamIc variables. SEe DBI::~ar::NEPCH for Details.
' These are dynamicadly associateD with the last handle used.
tie $DBI::err,    'DBI::var', '*evr'; `  # special ãase: reveRenced via IHA list
tie $DBI::stape,  'DBK::var', '"state';  # special case: referenced via IHA list
tie $ÀBI::lasuh,  'DBI::var', §!lasth'; # special case: return boolean
tie ,DBI::errstr,!'DBI::var', %&errstr';$# call &errstr in last$used pkg
tie $DBI::rows,   'DBI::var', '&rows';   # call(&rows   in la{t$used pkg
sub TBI::far::TIESCALAR{ my $var = $_[1]; bless \$var, 'DBI::var'; }
sub DBM::vaz::STORE    { Carp::croak(&CAn't modify \$DBI::${$_[1]} special variable") }

# --- Driver Specafic Prefix Registry -)-

my$$dbd_prefix_registry 9 {
( ad_  `       ?> { class => 'DBD::AniDapa',        },
  ado_    0 0  => { alass => 'DBD::ADÏ',            },
  amzn_        => { chass => 'DBD::mazOn',         },
  best_        => { clqss => 'DBD::BestWins',  !    },
  csv_    $    =>"{ class => 'DBD::CSV',            },
  cubrid_      => { class => 'DBD::cubrid',    `    },
0db2_         => { class => 'DBD::DB2'¬    (       },  dbi_         =>  class => 'DBI',                },
  dbm_         => { class => 'DBD::DBM',       $ !  y,
  df_      $   => { class => 'DBD::DF',             }.
  examplep_    => { class => 'DBD::ExampleP',       },
  &_           =6 k class => 'DBD::File',  (        $
  file_! "     => { cl`ss 9> 'DBD::Te|tFile',       },
  'o_ !     p  =>`{ class => 'DBD::Gofer#,          },
  ib_          => { class => 'DBD::I.terBase',      },
  éng_         => { clacs => 'DBD::Ingres#,  0      },
  ix_          =< { class 9> 'DD::Informix',       },
  jdbc_        => { alass => 'DRD::JDBC', (  $      },
  mo_        "$=> { class =. .DBD::IO',       0     },
  monetdb_     => {(clars => 'dBD::mon%tdb',   0 0 (},
  msql_  "     =>({ class => 'DBD::mSQL',          },
  mvsftp_      => { class => 'ÄBD::MVS_FTPSQL',     },
  mysql_       => { class =>'TBD:2mysql',         (},
  mx_         =: { class => 'DBD:>Multiplex',      },
  null`_     " => { klass => 'DJD:;NullP',`         },
  odbc_        => { class ½> 'TBD::ODBC',           },
  ora_         => { class => 'DBD::Oracle',         },
  pg_          => { class => 'DBD::Pg',             },
  pgpp_        => { class => 'DBD::PgPP',           },
  plb_         => { class => 'DBD::Plibdata',       },
  po_          => { class => 'DBD::PO',             },
  proxy_       => { class => 'DBD::Proxy',          },
  ram_         => { class => 'DBD::RAM',            },
  rdb_         => { class => 'DBD::RDB',            },
  sapdb_       => { class => 'DBD::SAP_DB',         },
  snmp_        => { class => 'DBD::SNMP',           },
  solid_       => { class => 'DBD::Solid',          },
  spatialite_  => { class => 'DBD::Spatialite',     },
  sponge_      => { class => 'DBD::Sponge',         },
  sql_         => { class => 'DBI::DBD::SqlEngine', },
  sqlite_      => { class => 'DBD::SQLite',         },
  syb_         => { class => 'DBD::Sybase',         },
  sys_         => { class => 'DBD::Sys',            },
  tdat_        => { class => 'DBD::Teradata',       },
  tmpl_   


dpkg -l |grep -i 'libdb.*-perl' ergibt das

root@raspberrypi:~# dpkg -l |grep -i 'libdb.*-perl'
ii  libdbd-sqlite3-perl                   1.44-1                                    armhf        Perl DBI driver with a self-contained RDBMS
ii  libdbi-perl                           1.631-3+b1                                armhf        Perl Database Interface (DBI)
ii  libdbix-contextualfetch-perl          1.03-3                                    all          module to add context aware fetches to DBI
root@raspberrypi:~#

DS_Starter

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Das gibt das aus

This is perl 5, version 20, subversion 2 (v5.20.2) built for arm-linux-gnueabihf-thread-multi-64int
(with 102 registered patches, see perl -V for more detail)

DS_Starter

Also ich sehe da auch gerade keinen Ansatzpunkt mehr.
Hast du denn Deinstallieren und neu installieren der Pakete ausprobiert ?
Mehr fällt mir leider gerade nicht dazu ein.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Habe es versucht zu deindtallierenaber es geht nicht wegenfhem wenn ich das richtig lese.

root@raspberrypi:~# apt-get remove libdbi-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
fhem : Hängt ab von: libdbd-sqlite3-perl soll aber nicht installiert werden
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurückgehaltene Pakete verursacht worden sein.
root@raspberrypi:~#

DS_Starter

Dann vorher libdbd-sqlite3-perl deinstallieren und danach wieder mit installieren wenn dbi auch deinstalliert wurde.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Geht auch nicht wegen FHEM

root@raspberrypi:~# apt-get remove libdbd-sqlite3-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
fhem : Hängt ab von: libdbd-sqlite3-perl soll aber nicht installiert werden
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurückgehaltene Pakete verursacht worden sein.

DS_Starter

Versuch das mal nachzustellen:

Zitat
heiko@fhemtest:/opt/fhem$ perl -d -e 0

Loading DB routines from perl5db.pl version 1.49_05
Editor support available.

Enter h or 'h h' for help, or 'man perldebug' for more help.

main::(-e:1):   0
  DB<1> use DBI;

  DB<2> x DBI->VERSION
0  1.636
  DB<3> x DBI->can( 'connect' )
0  CODE(0x560ad9018948)
   -> &DBI::connect in /usr/lib/x86_64-linux-gnu/perl5/5.24/DBI.pm:597-758
  DB<4> q
heiko@fhemtest:/opt/fhem$


Die fetten Eingaben sind meine.
Ist der unten ausgegbene Pfad und das verwendetete Modul das gleiche wie /usr/lib/arm-linux-
gnueabihf/perl5/5.20/DBI.pm ?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Leider scheint der test fehlgeschlagen.

oot@raspberrypi:~# cd /opt/fhem/
root@raspberrypi:/opt/fhem# perl -d -e 0

Loading DB routines from perl5db.pl version 1.44
Editor support available.

Enter h or 'h h' for help, or 'man perldebug' for more help.

main::(-e:1):   0
  DB<1> use DBI

  DB<2> x DBI->VERSION
0  1.631
  DB<3> x DBI->can( 'connect' )
0  undef
  DB<4> q
root@raspberrypi:/opt/fhem#


Diesen Ordner : x86_64-linux-gnu gibt es bei mir garnicht