Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Alle Datenbaken einer SQL Instanz auslesen (https://www.delphipraxis.net/64673-alle-datenbaken-einer-sql-instanz-auslesen.html)

HomerGER 6. Mär 2006 22:58

Datenbank: ms sql • Zugriff über: ado.net

Alle Datenbaken einer SQL Instanz auslesen
 
Hallo
ich möchte genau so wie Datenverknüpfungseingenschaften
in mein Programm ein Dialog haben
um den Ole DB Provider auszuwählen dann alle server und auf den Server die Datenbanken.

weiß jemand wie ich das am besten mache?

Homer

alzaimar 6. Mär 2006 23:42

Re: Alle Datenbaken einer SQL Instanz auslesen
 
Du wirst das imho mit OleDB nicht hinbekommen. Wenn Du mit MSSQL arbeiten willst, dann verwende die API, die ist bei MSDN oder auf der CD erhältlich.

jensw_2000 7. Mär 2006 01:02

Re: Alle Datenbaken einer SQL Instanz auslesen
 
Der Weg über DMO bzw. SMO ist professionell und richtig.
Jedoch gibt es dabei auch ein paar Fallen.

Wenn du SQLServer DMO (SQL-Server 6.5, 7 ,2000) bzw. SQLServer SMO (SQL-Server 2005 Versionen) zum suchen von SQL-Servern nutzen möchtest, müssen diese Objekte auf dem ausführenden System installiert sein.

Die DMO wurden mit den SQL-Server Clienttools ausgeliefert. Das bedeutet bei den Vorgängerversionen von SQL-Server 2005, das die Clienttools vorhanden sein müssen. Kunden, die nur mit der MSDE arbeiten, fallen dann schon einmal raus, weil die Clienttools bei der MSDE fehlen.

Bernhard Geyer hat im Entwicklerforum ein Beispielcode veröffentlicht, der SQL-Server ohne DMO findet.

Wie man an die Datenbanken eines Remoteservers herankommt weiss ich auch noch nicht so genau.

Ein einfaches
SQL-Code:
SELECT [name] from <ServerName>.master.dbo.sysdatabases
funktioniert nicht in jedem Fall, weil der Remoteserver imho in master.dbo.sysservers eingetragen sein muss.
Eventuell kann man die Remoteserver aber auch schnell in die Master-DB des verbundenen Servers einfügen ...


Schöne Grüße,
Jens
:hi:

HomerGER 10. Mär 2006 10:23

Re: Alle Datenbaken einer SQL Instanz auslesen
 
Hallo
danke erstmal für die schnellen Antworten

der Hintergrund ist:
1. ich will meine Datenbank auf den Server anlegen bzw der Benutzer kann den Server auswählen.
2. soll der Benutzer die möglichkeit haben eine Sicherungs-Datenbank wiederherstellen können bzw
eine andere Datenbank (gleich Struktur)auswählen können.

ich glaube im 2.0 Net gibt es schon ne Funktion
ich dachte im 1.1 wäre es auch irgendwo versteckt



Homer

Bernhard Geyer 10. Mär 2006 10:27

Re: Alle Datenbaken einer SQL Instanz auslesen
 
Zitat:

Zitat von jensw_2000
Der Weg über DMO bzw. SMO ist professionell und richtig.

Meine Lösung hat auch noch den Vorteil das sie weniger durch Firewalls (z.B. XP-Firewalls) blockiert wird. Die DMO-Lösung wird scheinbar durch die Standardeinstellung der XP-Firewall geblockt.

shmia 10. Mär 2006 11:49

Re: Alle Datenbaken einer SQL Instanz auslesen
 
SQL-Code:
SELECT * FROM information_schema.schemata
Die Datenbanknamen stehen im Feld "CATALOG_NAME"

HomerGER 10. Mär 2006 18:38

Re: Alle Datenbaken einer SQL Instanz auslesen
 
Hallo
ihr seid mir schon ein bisschen zu weit
Ich seid schon an der Datenbank dran und ich suche immer noch den Server ;-)

Homer


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz