![]() |
Datenbank: MyMSL / MSSQL • Version: 5 • Zugriff über: Zeos
MySQL und MSSQL: Mögliche Verfügbare Datebbanken
Hi Leute,
es gibt doch sicher eine Möglichkeit sowohl in MSSQL als auch in MySQL per SQL alle verfügbaren Datenbanken abzufragen, oder geht das nicht? |
Re: MySQL und MSSQL: Mögliche Verfügbare Datebbanken
SQL-Code:
SHOW Tables;
|
Re: MySQL und MSSQL: Mögliche Verfügbare Datebbanken
Okay, ich wollte aber nicht die Tabellen abfragen, sondern die verfügbaren Datenbanken.
Und mit Show Databases geht's wohl beim MS-SQL nicht. |
Re: MySQL und MSSQL: Mögliche Verfügbare Datebbanken
So, die Antwort ist gefunden. Und für alle, die es eventuell interessieren mag:
Bei MS-SQL-Datenbanken macht man ein Connect auf die "master"-Datenbank und fragt per SQL "select name from sysdatabases" die Namen der Tabellen ab. Ist zwar noch nicht die perfekte Lösung, weil natürlich auch alle System-Databases mitgeliefert werden...aber egal. Wenn einer noch eine bessere Lösung hat...immer her damit :-D |
Re: MySQL und MSSQL: Mögliche Verfügbare Datebbanken
Die Systemdatenbanken (master und tempdb) müsstest Du doch einfach rausfiltern können.
Grundsätzlich ist-soweit ich weiss- im SQL-Standard nur vorgeschrieben, das die Metadaten, also Datenbanken, Tabellen- und Spalteninformation selbst per SQL abgefragt werden können, aber das *wie* bleibt Jedem selbst überlassen. Insofern musst Du 'nur' noch den 2.Teil deines Problems lösen: Wie geht es mit MySQL. Ich verwende immer einen Profiler, wenn ich mal wieder ein Geheimnis eines SQL-DBMS lüften will. Du hast ja bestimmt MySQL irgendwo und auch ein Admin-Tool. Dort kann man bestimmt die verfügbaren DB anzeigen. Na.... |
Re: MySQL und MSSQL: Mögliche Verfügbare Datebbanken
@alzaimar: in MySQL geht das ueber
SQL-Code:
oder auch
SHOW DATABASES;
SQL-Code:
Greetz
SHOW DATABASES LIKE 'foobar%';
alcaeus |
Re: MySQL und MSSQL: Mögliche Verfügbare Datebbanken
Das mit "SHOW DATABASES" bei MySQL hatte ich auch schon gefunden.
Zum Hintergrund: Ich schreibe gerade an einem Projekt, welches eh schon die eigenen Daten in einer MySQL-DB abspeichert. Aber für eine Importfunktion soll der Benutzer halt aus verschiedenen Quellen importieren können. Bei MySQL hab ich es eh schon anders gelöst, weil ich sowieso die Zeoskomponente benutze, mit Conntion.GetDatabases(). Aber bei MSSQL gehe ich über ADO, und gibt es eine solchen Funktion nicht, oder ich hab sie nicht gefunden. Mir ist aber aufgefallen, dass es bei MSSQL in der Tabelle sysdatabases eine Spalte SUID gibt. In der steht bei jeder System-DB eine 1 und bei den selbst angelegten eine 8. Hab aber nur zugriff auf einen MSSQL-Server und kann somit auch nicht sagen, ob das eine festgelegt Systemeigenschaft ist, oder ob die Zahlen bei verschiedenen Systemen noch variieren. Ansonsten lass ich halt die Master usw. halt in der Auswahl drin. Würde ja ein benutzer nicht auswählen, wenn er bestimmte Daten importieren will, dann weiß er ja in der Regel auch, worin sich diese befinden. Wenn nicht, wird er wohl auch nicht einfach so importieren. Das es sich nicht um ein konventionelles Programm handelt, sondern etwas ganz spezifisches, sind auch nur Anwender betroffen, die etwas mehr systemkenntnis haben, als irgend so ein DAU. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz