Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Prüfen ob Datenbank auf MSSQL Server vorhanden (https://www.delphipraxis.net/81196-pruefen-ob-datenbank-auf-mssql-server-vorhanden.html)

winnionkel 22. Nov 2006 11:37

Datenbank: MSSQL Server • Version: 2005 • Zugriff über: ADO

Prüfen ob Datenbank auf MSSQL Server vorhanden
 
Hallo,

vielleicht könnt ihr mir helfen.
Ich suche eine Möglichkeit, festzustellen, ob meine Datenbank schon am MSSQL Server angefügt ist.

Mit der ADOConnection muß ich ja schon bei Prog Start, im ConnectionString die Datenbank angeben.
Beim Öffnen der ADOConnection fange ich dann die Fehlercodes ab. Ist die DB nicht angefügt,
bekomme ich den Fehlercode 4060.
Aber irgendwie möchte ich mich nicht darauf verlassen, das dieser FehlerCode immer die gleiche Nr hat.

Ich bin bei ADO schon sehr oft reingefallen.

Gibt es vielleicht noch eine andere Möglichkeit, dies festzustellen.
Vielleicht über die Systemdatenbank ?

Gruß winni

marabu 22. Nov 2006 11:46

Re: Prüfen ob Datenbank auf MSSQL Server vorhanden
 
Hallo Winni,

du kannst dich mit der Master-DB verbinden und dort die Prozedur sp_databases() ausführen.

Freundliche Grüße

NormanNG 22. Nov 2006 12:11

Re: Prüfen ob Datenbank auf MSSQL Server vorhanden
 
Hi Winni,


oder du holst dir die Datenbank-ID bei aktiver Verbindung zur Master-Datenbank:

SQL-Code:
select db_id('dbname')
Das Select liefert eine zahl zurück, wenn die DB vorhanden ist...

Heffalump 22. Nov 2006 12:57

Re: Prüfen ob Datenbank auf MSSQL Server vorhanden
 
select * from dbo.sysdatabases (gegen die master.db)

NormanNG 22. Nov 2006 13:30

Re: Prüfen ob Datenbank auf MSSQL Server vorhanden
 
Hi,

Zitat:

Zitat von Heffalump
select * from dbo.sysdatabases (gegen die master.db)

das ist aber ziemlich genau das, was sp_databases() macht, mit dem Nachteil, das der Zugriff auf die Systemtabellen erlaubt sein muss.

winnionkel 22. Nov 2006 16:25

Re: Prüfen ob Datenbank auf MSSQL Server vorhanden
 
Ich prüfe das ja beim Start meines Programms. Und mein Programm muß ja Zugriff auf die Systemtabellen haben, oder ?
Sonst könnte ich da doch auch keine neue DB anlegen.

Oder habe ich da jetzt einen Denkfehler.

Welche Datenbank muß ich denn im ConnectionString einstellen, damit ich überhaupt ein SELECT absetzten kann ?

Die MASTER ?

Gruß Winni

winnionkel 22. Nov 2006 16:39

Re: Prüfen ob Datenbank auf MSSQL Server vorhanden
 
Sorry, Ihr habt ja oben geschrieben, das es die Master ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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