![]() |
Datenbank: MsSQL • Zugriff über: odbc
Logische Datenbank Name
Logische Datenbank Name
Eine Abfrage DIREKT auf dem SQL-Server (MsSQL) Wie
SQL-Code:
Oder
SELECT FILE_NAME (1) as DataBaseName
SQL-Code:
liefert als Antwort logischen Datenbank-Name.
SELECT name from sysfiles where fileid = 1
Leider funktioniert diese Abfrage im Delphi Program wo ich per TQuery den logischen Namen abfragen möchte nicht. Solche TQuery mit dem SQL-Text:
SQL-Code:
liefert kein Ergebnis.
SELECT name from sysfiles where fileid = 1
Ich benutze BDE /ODBC. Wie kann ich per TQuery Abfrage den logischen Datenbank Namen erfahren? Wohl gemerkt ist das nicht zwingend der gleiche Datenbank- Name wie auf dem SQL-Server in dem Zweig Datenbanken sichtbar ist. Erstellt man z.B. eine Datenbank mit dem Namen XXX und spielt „drüber“ ein Backup YYY wird der logische Name von dem Backup übernommen. . |
Re: Logische Datenbank Name
Ich Tipp mal darauf das die BDE die Ergebnisspalte nicht erkennt oder über ODBC die Spalte nicht übertragen wird(Ok, ich sag jetzt nix das man die BDE nicht verwenden sollte :-)).
Hast du es mit ADOExpress/dbGo und TAdoQuery probiert was dort passiert? |
Re: Logische Datenbank Name
Ich muss TQuery benutzen. Ich habe gehofft, dass man es aus irgendeinen anderen System-Tabelle abfragen kann.
|
Re: Logische Datenbank Name
Hallo,
mach über die BDE mal ein
SQL-Code:
und Du wirst feststellen, die Tabelle hat garkeine Spalte Name (für die BDE). Da wird irgendwas "unterwegs" gemappet oder so, dass bei der BDE nicht ankommt. Über Ado klappt das ja.
SELECT * from sysfiles where fileid = 1
Wobei: Der Zugriff auf die Systemtabellen im Information_Schema ist über die BDE auch nicht (zwingend) möglich. Möchte hier nicht ausschließen, dass die Datenbank Feldtypen verwendet, die von der BDE nicht unterstützt werden. Das ist zwar ägerlich, aber nicht hoffnungslos :wink: So geht's auch über die BDE:
SQL-Code:
SELECT cast(name as Varchar(80)) from sysfiles
|
Re: Logische Datenbank Name
Du bist ein Genie !!!
Super, morgen werde ich es ausprobieren, aber das sieht sehr gut aus (warum komme ich seblst nicht auf solche Idee?, hahahaha) Also, Danke |
Re: Logische Datenbank Name
Wenn mich nicht alles täuscht sind die Systemtabellen beim SQL-Server einem anderen Schema zugeordnet (sys).
Würde denn eventuell sowas funktionieren ?
Delphi-Quellcode:
/Thomas
SELECT name from sys.sysfiles where fileid = 1
|
Re: Logische Datenbank Name
Das habe ich schon natürlich vorher ausprobiert (mit dem SYS.)
Funktioniert leider nicht |
Re: Logische Datenbank Name
Ja, die BDE ist doch was Dolles :stupid:
Ich würde hier eher ADO verwenden |
Re: Logische Datenbank Name
Zitat:
@Fragesteller: WIESO muss die BDE verwendet werden? ist dem Fragesteller klar das die BDE schon längst keine Aktive Entwicklung mehr erfährt und eigentlich schon mit D2009 entgültig sterben sollte? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23: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