AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error
Thema durchsuchen
Ansicht
Themen-Optionen

XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

Ein Thema von Perlsau · begonnen am 30. Dez 2014 · letzter Beitrag vom 30. Dez 2014
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

  Alt 30. Dez 2014, 08:05
**hüstel**

Schau mal in die Doku Delphi-Referenz durchsuchenTStrings

Du willst bestimmt eine Delphi-Referenz durchsuchenTStringList-Instanz erzeugen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

  Alt 30. Dez 2014, 08:09
Mithüstel

Natürlich muß es heißen Liste := TStringList.Create;

Danke, Sir Rufo, Du bist einfach unersetzlich

Achso: Jetzt geht's natürlich
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird : Parameter?

  Alt 30. Dez 2014, 08:50
Die Sache ist allerdings noch nicht ganz gegessen: Wenn ich eine Datenbank angebe, die überprüft 17 Tabellen besitzt, bleibt die Liste dennoch leer. Leider ist die Dokumentation der Parameter von GetTableNames äußerst dürftig. Dennoch hab ich herausgefunden, daß man sich vom TFDPhysObjectScopes osMy nicht beirren lassen darf, denn damit erhält man 0 Tabellen, zumindest in allen Firebird-Datenbanken, die ich eben mal kurz damit getestet habe. Man muß dagegen osOther angeben, womit man die selbst angelegten Tabellen erfaßt. Vielleicht bedeutet das My ja, daß es für MySQL-Datenbanken gilt und nicht "my tables" So von wegen intuitiv und so ...

Erwähnt sei das Ganze sozusagen der Vollständigkeit halber, wenn da mal jemand das gleiche Problem hätte ...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

  Alt 30. Dez 2014, 10:09
Hat wirklich der User die Tabellen angelegt oder sieht er sie nur?
http://docwiki.embarcadero.com/Libra...y.ObjectScopes

Bei MySQL könnte ich mir auch vorstellen das hier je nach Version die Kennzeichnung "Diese Tabelle hat der eingelockte User angelegt" nicht eindeutig/stabil bestimmbar ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

  Alt 30. Dez 2014, 11:08
Das weiß ich nicht, den mit osMy werden keine Tabellen gezählt. Muß ich mal bei mir zu Hause testen, derzeit meldet sich die Anwendung bei den diversen Datenbanken, die gezählt und analysiert werden sollen, natürlich mit SYSDBA und MASTERKE (bzw. mit den entsprechend geänderten Zugangsdaten, die ich hier aber nicht verrate ) an, sonst müßte man ja erstmal alle Tabellen händisch durchgehen und die jeweiligen Zugangsdaten eingeben, von denen ich derzeit gar nicht weiß, wo mein Auftraggeber sie abgelegt hat.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

  Alt 30. Dez 2014, 11:22
Eine gänge Alternative sollte wohl [osMy, osOther] sein, dann bekommt man auf jeden Fall alle Tabellen ausgenommen die SystemTabellen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: XE7 FireDac TFDConnection.GetTableNames auf Firebird = abstract error

  Alt 30. Dez 2014, 11:29
Ich bekomme mit osOther ohne osMy bereits alle Tabellen ohne Systemtabellen, zumindest bei Firebird. Die anderen Klassen für die anderen DBMS' muß ich erst noch schreiben, das ist ja nicht unbedingt kompastibel ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 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