[quote=kale_1990,14.Jan..2007, 12:29]ja das weiß ich, das hab ich ja auch gesagt aber eigentlich wollt ich es ja nicht so machn...naja geht anscheinend nicht anders![/quote]
Habe etwas rumprobiert und folgendes geht:
#!/usr/bin/perl
use warnings;
use strict;
use DBI;
my $options = {
user => 'root',
password => 'foo',
host => 'localhost',
port => 3306,
};
my @databases = DBI->data_sources('mysql', $options);
$, = "\n";
print @databases, "\n";
Das liestet dir alle Datenbanken des DBMS. Ich habe es selber mit MySQL ausprobiert. Ist aber verdammt schlecht Dokumentiert das ganze. Wie der Optionshash zu data_sources aussieht habe ich nirgendswo gefunden. Habe die einzelnen Keys erraten und Teilweise auch paar Sachen in der Doku zu DBD::mysql gefunden.
Dort wird noch eine andere Möglichkeit gezeigt wie du an die Datenbanken kommst, aber auch dort steht man sollte wenn möglich lieber die Methode data_sources() benutzen.
Die Ausgabe des ganzen ist ein gültiger dsn wie ihn die connect() Methode von DBI erwartet. Wenn du nur die Datenbank Namen möchtest, must du diese also nochmals ausfiltern.
Das geht z.B. wenn du vor dem print noch ein
hinzufügst.
EDIT:
Interessant die Doku zur Methode data_sources hat sich komplett geändert. Aber auch lokal auf mein Rechner ist die Doku zu DBI neu, so wie sie jetzt Offiziel bei
http://search.cpan.org/perldoc?DBI steht. Hmmm, muss ich nicht verstehen...\n\n
<!--EDIT|sid burn|1168810280-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de