Schrift
[thread]10748[/thread]

MSSQL: Zugriff auf die master-Datenbank

Leser: 3


<< >> 8 Einträge, 1 Seite
ronald
 2007-11-08 15:33
#102039 #102039
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
Wie kann ich in perl auf die master-Datenbank zugreifen?

Im SQL Server Management Studio geht das mit:
Code: (dl )
select * from [master].sys.databases


Wenn ich eine selbst definierte Datenbank auslesen will dann bekomme ich mit

Code (perl): (dl )
my  $dbh = DBI->connect("dbi:ODBC:$dsn", $usr, $pwd);


eine Verbindung und kann die Tabellen dieser Datenbank verarbeiten.

Bei
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
  my $befehl = "SELECT * FROM [master].sys.databases;";

  my $sth = $dbh->prepare($befehl) ||
      print("ERROR: Fehler beim Prepare: ".DBI::errstr) && return;
  print(DBI::errstr), return if DBI::errstr;
  $sth->execute;

  while (my (@daten) = $sth->fetchrow_array) {
    print "@daten\n";
  }

kommt aber nichts heraus.

Auch wenn ich den ";" hinter "databases" weglasse kommt nichts.

Wie kann ich die Tabelle [master].sys.databases auslesen?
Gast Gast
 2007-11-09 10:09
#102099 #102099
Was sagt DBI::errstr ?

Kann das an den Rechten liegen?

BTW: Dangerous stuff! Auslesen mag ja noch gehen ...
ronald
 2007-11-09 13:38
#102112 #102112
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
Fehlermeldung:
Code: (dl )
DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'master.sys.databases'. (SQL-42S02)

obwohl beim prepare der Name ja mit eckigen Klammern angegeben ist ([master].sys.databases). Ich hatte den Befehl ja aus dem Queryfenster vom SQL Server Management Studio kopiert - wo es auch funktionierte.

Beim connect habe ich Benutzer und Passwort von einem Benutzer mit Daministrationsrechten für die Datenbank angegeben. Ich komme auch problemlos auf die einzelnen Datenbanken.
Das einzige, was mir fehlt, ist eine Liste aller Datenbanken.

Ich habe auch versucht ein "use master" oder "use master;" voranzustellen und dafür das "[master]." wegzulassen, das führt aber zu der Meldung
Code: (dl )
DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver]Invalid cursor state (SQL-24000)(DBD: dbd_describe/SQLNumResultCols err=-1) at c:/Program Files/Apache Group/Apache/cgi-bin/axapta_db.pl line 19.
renee
 2007-11-09 13:41
#102113 #102113
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Eine Liste mit Datenbanken (die Du erreichen kannst), kannst Du mit CPAN:DBI ausgeben: http://search.cpan.org/dist/DBI/DBI.pm#data_source...
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/
ronald
 2007-11-09 13:42
#102114 #102114
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
Ich habe die Lösung!!

Der Befehl lautet
Code: (dl )
my $befehl = "select * from master.dbo.sysdatabases";



gefunden in DBIx/MSSQLReporter.pm
Froschpopo
 2007-11-22 03:10
#102750 #102750
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
siesse hab ich doch gesagt aber renee hat ja mal wieder meinen beitrag gelöscht
renee
 2007-11-22 09:26
#102756 #102756
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Froschpopo+2007-11-22 02:10:05--
siesse hab ich doch gesagt aber renee hat ja mal wieder meinen beitrag gelöscht


Aber sonst geht's noch?!
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/
pq
 2007-11-22 11:43
#102760 #102760
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Froschpopo+2007-11-22 02:10:05--
siesse hab ich doch gesagt aber renee hat ja mal wieder meinen beitrag gelöscht

na, hasse sssu tief ins glas geschaut, was?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 8 Einträge, 1 Seite



View all threads created 2007-11-08 15:33.