Schrift
[thread]727[/thread]

Problem mit dem Einlesen (Seite 2)

Leser: 2


<< |< 1 2 3 4 5 6 >| >> 56 Einträge, 6 Seiten
renee
 2006-05-17 18:01
#7609 #7609
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du $database und $password initialisiert??

Weil das hier kann eigentlich nicht funktionieren:
Code: (dl )
1
2
  $dbh = Mysql->connect( undef, $database, $database, $password ) ||
die( "Could not establish database connection: ".$Mysql::db_errstr );


Das ist ein Grund, warum man Wiki:use strict verwenden sollte...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
XeroX
 2006-05-17 18:09
#7610 #7610
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
require "drow_pwx.pl";       # Contains database credentials

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
# Database name
local $DATABASE = "XXX";

# Database table name
local $DB_TABLE = "drow_dictionary";

# Database username
local $DB_USERNAME = "XXX";

# Database password
local $DB_PASSWORD = "XXX";

1; # For perl require();
\n\n

<!--EDIT|XeroX|1147874999-->
Dubu
 2006-05-17 18:42
#7611 #7611
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
$password ist aber nicht $DB_PASSWORD, etc.
renee
 2006-05-17 18:51
#7612 #7612
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du musst dann beim connect auch die Variablennamen aus der Datei nehmen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
XeroX
 2006-05-18 11:01
#7613 #7613
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
Hmm...funktioniert trotzdem nicht...
Muss ich mir anders über legen wie ich sowas in eine SQL bekomm

Code: (dl )
1
2
3
bautha=dodge
belaern=profit
belaern=wealth


Sollte halt das eine

In die Spalte Drow das andere in Common.

Die SQLDB liegt ja hier aufm Rechner sodass ich das hätte schnell dort herein übertragen können, dann abspeichern und hochladen.

Hat keiner mehr eine Idee wiesos nicht funzt ?

<!--perldoc1--><a href="http://faq.perl-community.de/bin/view/Perldoc/ #%20Setup%20Database%20Connection" target="_blank"><img alt="perldoc " src="/iB_html/non-cgi/Skin/SKIN-3/images/perldoc.gif" border="0"> <!--perldoc2--> # Setup Database Connection
$dbh = Mysql->connect( undef, $DATABASE, $DB_USERNAME, $DB_PASSWORD ) ||<!--perldoc3--></a><!--perldoc4-->
nepos
 2006-05-18 11:29
#7614 #7614
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Was funktioniert denn nicht? Was mault er denn?
Ich komme grad nicht wirklich mit, was du eigentlich machen willst.
Datenbankgeschichten laufen normal via CPAN:DBI.
docsnyder
 2006-05-18 11:39
#7615 #7615
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@XeroX

Kannst Du nicht mal vernünftig und zusammenhängend (wenn's geht auch mal in kompletten Sätzen) beschreiben, was für ein Problem Du hast?

Mache es doch nicht zum Problem der anderen, herauszufinden, was Du willst.

Auf welchem Niveau sind wir hier eigentlich gelandet?

"Du" möchtest Hilfe. Dann gib Dir doch bitte auch ein bisschen Mühe.

Gruß, Doc
XeroX
 2006-05-18 12:30
#7616 #7616
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
Also er mault immer noch diesen Fehler hier.

Can't call method "prepare" on an undefined value at C:/Programme/xampp/perl/site/lib//Mysql.pm line 169.

Das Script soll wenn es klappen würde...:

Die "words.txt" einlesen..sich mit der SQL Datenbank verbinden und die verschienden werte (XXX=YYY) welche in der words.txt stehen in die Tabellen Spalte Drow (XXX) und Common (YYY) übertragen.

Allerdings scheitert es wohl beim schreiben in die SQL DB wie ich das dem Fehler wohl entnehme.

Nun würde ich mich nunmal freuen wenn mir einer so helfen kann das ich das Script korrekt berichtigen kann sodass das ganze funktioniert.\n\n

<!--EDIT|XeroX|1147941090-->
Strat
 2006-05-18 13:40
#7617 #7617
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
1. das Modul CPAN:Mysql empfielt selbst, stattdessen DBI + DBD::mysql zu verwenden.

2. das mit dem prepare bedeutet, dass bei
Code: (dl )
$dbh->query( $query );

mindest eins der beiden variablen ($dbh, $query) undef ist. Ueberpruefe das doch mal.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2006-05-18 13:47
#7618 #7618
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
nebenbei: wenn du in einer datei eine globale variable mit local $VAR = 'xyz' ueberdeckst, dann ist dies nur in dieser Datei gueltig. Verwende da in drow_pwdx.pl besser eins der folgenden konstrukte:
Code: (dl )
1
2
3
4
5
6
7
use vars qw($DATABASE $DB_TABLE $DB_USERNAME $DB_PASSWORD);
$DATABASE = "XXX";
$DB_TABLE = "drow_dictionary";
$DB_USERNAME = "XXX";
$DB_PASSWORD = "XXX";

1;

oder besser noch, das Modul CPAN:Readonly
Code: (dl )
1
2
3
4
5
6
7
8
use Readonly;

Readonly $DATABASE => "XXX";
Readonly $DB_TABLE => "drow_dictionary";
Readonly $DB_USERNAME => "XXX";
Readonly $DB_PASSWORD => "XXX";

1;


(wenn du use strict sowohl im modul als auch im code verwendet haettest, haette es dir diesbezuegliche Hinweise gegeben).

Im Hauptprogramm kannst du alle local ... durch my ... ersetzen.

Code: (dl )
$dbh->query( "delete from $DB_TABLE" );

wenn du eine tabelle leeren willst, ist meist
[sql]TRUNCATE $DB_TABLE
[/sql]
um einiges schneller
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 4 5 6 >| >> 56 Einträge, 6 Seiten



View all threads created 2006-05-17 13:33.