tomy: "install_driver(sql) failed"

Hallo alle zusammen,

hoffe doch ihr könnt mir (mal wieder) helfen...

ich habe ein kleines perlmodul geschrieben welches einen sql-query an eine mysql db übergibt. dieses modul nutze ich für verschiedene programme und es funktioniert auch überall... außer bei einem. da bekomm ich diese fehlermeldung:

----
install_driver(sql) failed: Can't locate DBD/sql.pm in @INC (@INC contains: D:/software/Perl/810/lib D:/software/Perl/810/site/lib . configuration programmodule) at (eval 3) line 3.
Perhaps the DBD::sql perl module hasn't been fully installed,
or perhaps the capitalisation of 'sql' isn't right.
Available drivers: ADO, CSV, DBM, ExampleP, File, Multiplex, ODBC, Proxy, Sponge, mysql.
 at programmodule/db_connect.pm line 29
----

ich habsch schon mit der neuinstallation der module
-dbi
-dbi-mysql
versucht -> nichts.

komischerweis funktioniert alles, wenn ich den code in das konfigurationsscript (von diesem werden alle module aufgerufen) kopiere.

ich hoffe ihr könnt mir auch diesmal weiterhelfen.

tom

  1. Hallo tomy,

    ich habe ein kleines perlmodul geschrieben welches einen sql-query
    an eine mysql db übergibt. dieses modul nutze ich für verschiedene
    programme und es funktioniert auch überall... außer bei einem. da
    bekomm ich diese fehlermeldung:

    [...]

    Du gibst den falschen Datenbank-Treiber an. Der ist 'mysql', nicht
    'sql'. Konkret: im Connection-String 'DBI:mysql', nicht 'DBI:sql'.

    Grüße,
     CK

    --
    Auf der ganzen Welt gibt es nichts Weicheres und Schwaecheres als Wasser. Doch in der Art, wie es dem Harten zusetzt, kommt nichts ihm gleich.
    http://wwwtech.de/
    1. Du gibst den falschen Datenbank-Treiber an. Der ist 'mysql', nicht
      'sql'. Konkret: im Connection-String 'DBI:mysql', nicht 'DBI:sql'.

      der Connection-String sieht bei mir so aus:

      DBI:mysql:da_name:localhost

      müsste also stimmen und wie gesagt bei anderen programmen funzt es.
      bin schon so langsam ein wenig verzweifelt :-/

      drotzdem danke

      1. Halihallo tomy

        müsste also stimmen und wie gesagt bei anderen programmen funzt es.
        bin schon so langsam ein wenig verzweifelt :-/

        Nun, du hast irgendwo einen logischen Bug im Programm. Was steht bei
        dir in "programmodule/db_connect.pm line 29"? - Vielleicht setzt du
        die DB-Connction-String aus Variablen zusammen, die du in diesem
        speziellen Programm falsch gesetzt hast.
        Oder du öffnest die Verbindung auch an einem anderen Ort und von dort
        kommt der Fehler.

        Gib in db_connect.pm vor Linie 29 mal deinen Connection-String aus.

        Viele Grüsse

        Philipp

      2. fehler gefunden. :-)

        mein kollege hat die variable in der:

        DBI:mysql:da_name:localhost

        steht mit "my" deklariert, also quasi privat gemacht.

        trotzdem danke für euere mühe

        tomy

  2. Halihallo tomy

    install_driver(sql) failed: Can't locate DBD/sql.pm in @INC (@INC contains: D:/software/Perl/810/lib D:/software/Perl/810/site/lib . configuration programmodule) at (eval 3) line 3.

    Du hast auf den Driver "sql" zugegriffen, nicht auf "mysql"!

    Available drivers: ADO, CSV, DBM, ExampleP, File, Multiplex, ODBC,
    Proxy, Sponge, mysql.

    ^^^^^
    mysql ist installiert!

    -dbi-mysql

    Das Driver-Modul für MySQL heisst DBD-MySQL und es _ist_ bei dir
    installiert!

    komischerweis funktioniert alles, wenn ich den code in das konfigurationsscript (von diesem werden alle module aufgerufen) kopiere.

    Hä, was? - Zeig mal etwas Code...

    Interessieren würde mich zumindest die Zeile, wo du die Verbindung
    öffnest. Hast du dort etwas wie folgt stehen:?

    DBI->connect('dbi::sql:datase=...','...','...');

    das muss heissen:

    DBI->connect('dbi::mysql:database=...','...','...');

    ^^^^^

    Viele Grüsse

    Philipp