Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12987[/thread]

Newbie -Keine Ausgabe bei mysql-query (Seite 6)

Leser: 2


<< |< 1 ... 3 4 5 6 7 >| >> 63 Einträge, 7 Seiten
pktm
 2009-01-15 21:45
#118045 #118045
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
deletemast+2009-01-15 19:17:22--
Habe ich gelesen, und wie ist die Lösung?

Danke


Die Lösung steht in der Antwort. Lies genauer, und denke etwas darüber nach ;)
http://www.intergastro-service.de (mein erstes CMS :) )
deletemast
 2009-01-15 22:19
#118047 #118047
User since
2009-01-14
23 Artikel
BenutzerIn
[default_avatar]
also erst mal Danke für die vielen Antworten.

Wenn mir der driver "mysql" keine Ausgabe bringt
und ich verschiedene Sachen (Code-Snippet von euch) versucht habe
welche Angaben muss ich dann machen um eine Ausgabe zu erhalten.
Denn:
Quote
Dann übersetze ich mal
Beachte das viele Treiber keinen weg kennen um herauszufinden welche Datenquellen eventuell Verfügbar sind. Diese Treiber geben eine leere oder unvollständige Liste zurück oder benötigen treiberspezifische Attribute.

Kurz, mit mysql bekommst du kein Ergebnis

beinhaltet für mich NEWBIE nichts, was ich anders machen muss.
Es erklärt lediglich, daß
Quote
Kurz, mit mysql bekommst du kein Ergebnis

Welche Attribute müssen denn hier übergeben werden, wenn ich lediglich die verfügbaren Datenquellen darstellen möchte die mir der driver "mysql" bereitstellt.
Und es sind ja definitiv Datenquellen vorhanden.
pktm
 2009-01-16 00:20
#118048 #118048
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hoi!

Hier erstmal noch eine Anmerung zu deinem Code:
Code: (dl )
1
2
#!C:/Perl/bin/perl.exe -w
# dbi3.pl vorhandene Datenquellen


An das Perl kommt kein .exe dran.

Code: (dl )
my @sources = DBI->data_sources("mysql",{"localhost" => $host, "3306" => $port});


Muss das nicht anders rum sein? host => 'localhost'? Wenn nicht, wo werden $host und $port belegt?

use strict hätte dich darauf hingewiesen. Bitte verwende immer strict. Ich für meinen Teil helfe nur ungerne, wenn der Fragende mögliche Fehler, die strict schon ausschließen würde, nicht ausschließt.

Der entsprechende Artikel dazu wurde dir bereits zweimal verlinkt. Daswurde getan, damit du ihn durchliest und anwendest.

Nun zu deiner Frage:
Ich weiß nicht, wie du an die verfügbaren Datenbanken kommst. Kannst du mir sagen, inwiefern diese Auflistung für dich relevant ist?
Eventuell musst du dich mit der Möglichkeit anfreunden, dass du ein Stück Code in einem Buch gefunden hast, das mit deiner Datenbank und deinem Ansatz (bzw. dem aus den Buch) so einfach nicht funktioniert.
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2009-01-16 00:24
#118049 #118049
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hier übrigens ein anderer Ansatz (nicht aus deinem Buch, sondern aus der Dokumentation zu DBD::mysql - die kann man lesen):
Quote
@databases = DBI->data_sources("mysql",
{"host" => $host, "port" => $port, "user" => $user, password => $pass});


Tatsächlich umgesetzt sieht das dann so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/Perl/bin/perl

use strict;
use warnings;
use DBI;
use CGI;
use Data::Dumper qw/Dumper/;

# -- mysql-speziabehandlung
my $host = '127.0.0.1';
my $port = '3306';
my $user = 'Test';
my $pass = 'test';
my @databases = DBI->data_sources("mysql", {"host" => $host, "port" => $port, "user" => $user, password => $pass});
print Dumper @databases;

exit(0);


Man sieht sofort, dass sich dieser Ansatz von deinem unterscheidet, indem direkt Zugangsdaten zu einem Account der MySQL-Datenbank übergeben werden. Es ist nämlich abhängig von der Rechteverwaltung, welcher Nutzer welche Datenquellen sehen darf und wie er damit arbeiten kann.
http://www.intergastro-service.de (mein erstes CMS :) )
deletemast
 2009-01-16 01:18
#118051 #118051
User since
2009-01-14
23 Artikel
BenutzerIn
[default_avatar]
Hallo pktm,
also dein script funktioniert!
Allerdings ist die Ausgabe per dumper etwas kryptisch
aber ich werde versuchen den code soweit zu modifizieren, daß eine "übersichtliche Ausgabe" erscheint.

PS: Im Shebang soll der Interpreter angegeben werden, der das script ausführt (#!C:\Perl\bin\perl.exe -w) wobei ich nicht genau weiß wieso -w
Die scripte funtionieren jedoch auch mit (#!/usr/bin/perl -w)

Danke

Habe den Code jetzt ein wenig modifiziert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!C:\Perl\bin\perl.exe -w
# dbi3.pl vorhandene Datenquellen

use strict;
use warnings;
use DBI;
use CGI;

print "Content-type: text/html\n\n";

my $host = '127.0.0.1';
my $port = '3306';
my $user = 'root';
my $pass = '';

my @databases = DBI->data_sources("mysql",
{"host" => $host, "port" => $port, "user" => $user, password => $pass});
print "<b>vorhandene Datenquellen:</b>
<br>
<br>";
foreach (@databases){
print "$_<br>";
}

Anhand dieses Beispiels kann ich bei ähnlichen Problemen nun hier nachsehen.

Nochmal Danke
pktm
 2009-01-16 02:13
#118052 #118052
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
deletemast+2009-01-16 00:18:42--
PS: Im Shebang soll der Interpreter angegeben werden, der das script ausführt (#!C:\Perl\bin\perl.exe -w) wobei ich nicht genau weiß wieso -w
Die scripte funtionieren jedoch auch mit (#!/usr/bin/perl -w)


Ja, ich weiß :)
Dennoch solltest du die Erweiterung .exe. Der Interpreter wird auch ohne gefunden.

Das -w steht für warings, und das lass gleich bleiben, weil man neuerdings dafür immer use warnings; verwenden soll. Frag nicht, warum :)

Lass einfach jedes deiner Skripten so anfangen:
Code: (dl )
1
2
3
4
#!/Perl/bin/perl

use strict;
use warnings;
http://www.intergastro-service.de (mein erstes CMS :) )
Struppi
 2009-01-16 09:50
#118056 #118056
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
deletemast+2009-01-16 00:18:42--
PS: Im Shebang soll der Interpreter angegeben werden, der das script ausführt (#!C:\Perl\bin\perl.exe -w) wobei ich nicht genau weiß wieso -w
Die scripte funtionieren jedoch auch mit (#!/usr/bin/perl -w)

Das hatte ich auf der ersten Seite dieses Threads erklärt, schon vergessen?
pktm
 2009-01-16 13:40
#118082 #118082
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Struppi+2009-01-16 08:50:50--
deletemast+2009-01-16 00:18:42--
PS: Im Shebang soll der Interpreter angegeben werden, der das script ausführt (#!C:\Perl\bin\perl.exe -w) wobei ich nicht genau weiß wieso -w
Die scripte funtionieren jedoch auch mit (#!/usr/bin/perl -w)

Das hatte ich auf der ersten Seite dieses Threads erklärt, schon vergessen?


Ja, verdrängt, genauso wie den Gedanken zu posten, dass das hinsichltich eines zukünftigen Uploads des Skripts ins Internet auf einen Linux-Server potentiell Arbeit ersparen / Fehlerquellen verhindern könnte. Im Prinzip ist es echt marginal, aber warum sollte an sich denn mehr Arbeit machen? Noch besser wäre es gar, wenn er direkt #/usr/bin/perl hinschreiben würde.

PS: 2te Seite ^^
http://www.intergastro-service.de (mein erstes CMS :) )
GwenDragon
 2009-01-16 14:16
#118087 #118087
User since
2005-01-17
14542 Artikel
Admin1
[Homepage]
user image
deletemast+2009-01-16 00:18:42--
PS: Im Shebang soll der Interpreter angegeben werden, der das script ausführt (#!C:\Perl\bin\perl.exe -w) wobei ich nicht genau weiß wieso -w
Die scripte funtionieren jedoch auch mit (#!/usr/bin/perl -w)

Seit wann funktioniert unter Windows denn #!/usr/bin/perl als SheBang?
Mein Apache macht das nicht!
Es sein denn ich habe Perl unter Windows im gleiche Root wie Perl und dort ist es unter /usr/bin/ zu finden!

Der SheBang wird nur ignoriert, wenn in der Apache-Konfiguration ScriptInterpreterSource anders gesetzt wurde!

Quote
ScriptInterpreterSource-Direktive
Beschreibung: Methode zur Ermittlung des Interpreters von CGI-Skripten
Syntax: ScriptInterpreterSource Registry|Registry-Strict|Script
Voreinstellung: ScriptInterpreterSource Script
Kontext: Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride: FileInfo
Status: Core
Modul: core
Kompatibilität: ausschließlich Win32; Die Option Registry-Strict ist verfügbar seit Apache 2.0
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

Struppi
 2009-01-16 15:16
#118089 #118089
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
der Thread ist mittlerweile extrem konfus - Beitrag #17 anschauen
<< |< 1 ... 3 4 5 6 7 >| >> 63 Einträge, 7 Seiten



View all threads created 2009-01-14 01:45.