Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Auflisten der Tabellen einer DB und der DBs (https://www.delphipraxis.net/70501-auflisten-der-tabellen-einer-db-und-der-dbs.html)

Alexander 31. Mai 2006 09:59

Datenbank: Unterschiedlich • Zugriff über: ADO.NET

Auflisten der Tabellen einer DB und der DBs
 
Hallo,
mal wieder eine bzw. zwei .NET Fragen. Ich möchte gerne alle Tabellen einer Datenbank auflisten. Dabei soll unterschieden werden zwischen den normalen Tabellen, Views und den Systemtabellen. Dann wäre es noch gut, wenn ich auch die ganzen Datenbanken auflisten könnte. Irgendwie muss das ja möglich sein, da andere Programme das ja auch können.
Der Zugriff erfolgt auf .NET Basis mit ADO.NET zunächst über den ODBC-Provider und später auch über den SQL-Provider auf den MS SQL-Server und den MySQL-Provider.

Habt ihr Ideen?
Grüße, Alexander

uwewo 31. Mai 2006 10:09

Re: Auflisten der Tabellen einer DB und der DBs
 
Hi Alexander,

bei MySQL einfach eine Query erstellen

SQL-Code:
SHOW Tables from Datenbankname
beziehungsweise

SQL-Code:
SHOW Databases
das wars.

Uwe

Alexander 31. Mai 2006 10:52

Re: Auflisten der Tabellen einer DB und der DBs
 
Danke. Das geht schon einmal wunderbar.
Jetzt suche ich also noch eine Möglichkeit für den SQL-Server sowie für ODBC-Verbindungen. Gerade über ODBC wäre natürlich eine allgemeine Möglichkeit sehr elegant, da man sich ja zu verschiedenen Datenbanken verbinden kann.

delphilevi 1. Jun 2006 09:17

Re: Auflisten der Tabellen einer DB und der DBs
 
Allgemeines Auslesen von DB-Strukturen geht glaub ich nur mit vielen
if's:

Beispiele für Liste mal Tabellennamen:
MS-SQL-Server:
SQL-Code:
select * from Datenbankname.dbo.sysobjects where Type='U' order by name;
MySQL-Server:
SQL-Code:
show tables from Datenbankname;
sqlite:
SQL-Code:
Select * from sqlite_master where type="table";
Access:
SQL-Code:
SELECT * FROM MSysObjects WHERE MSysObjects.Type=6;
...

Für Verwalten von DB's gibt es z.B. den DB-Manager siehe http://www.dbtools.com.br/

Falls Du ein Programm zum Einbinden unterschiedlicher DB-Systeme schreiben mußt,
mußt Du Dich wohl oder übel mit der Struktur der Systeme auseinandersetzen.

:wink: delphilevi

Alexander 1. Jun 2006 12:45

Re: Auflisten der Tabellen einer DB und der DBs
 
Danke.
Hast du noch mehr davon (andere DB's) ? :stupid:

D.h. also, wenn ich per ODBC zu einer DB connecte, muss ich erst herausfinden, um welche DB es sich handelt, um letztlich den richtigen SQL-Befehl abzuschicken? Wie finde ich denn am einfachsten heraus, um welche DB es sich handelt?

Janek76 1. Jun 2006 17:51

Re: Auflisten der Tabellen einer DB und der DBs
 
Zitat:

Zitat von Alexander
Danke. Das geht schon einmal wunderbar.
Jetzt suche ich also noch eine Möglichkeit für den SQL-Server sowie für ODBC-Verbindungen. Gerade über ODBC wäre natürlich eine allgemeine Möglichkeit sehr elegant, da man sich ja zu verschiedenen Datenbanken verbinden kann.

Kann man beim SQL-Server nicht einfach

Exec SP_DATABASES

schreiben, um sich die Datenbanken, bzw.

Exec SP_TABLES

um sich die Tabellen anzeigen zu lassen?

Alexander 1. Jun 2006 18:47

Re: Auflisten der Tabellen einer DB und der DBs
 
Hi,
erstmal vielen Dank für dein Posting. Exec SP_TABLES ist sehr interessant.
Aber Exec SP_TABLES scheint nicht alle Tabellen zu liefern (sondern nur der DB Master) :gruebel:.

Aber wie das bei den anderen Servern (wie z.B. Oracle etc. ) aussieht, weißt du auch nicht, oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz