AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Quelltext eines Generators lesen
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Quelltext eines Generators lesen

Ein Thema von Codehunter · begonnen am 8. Sep 2018 · letzter Beitrag vom 9. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 14:55
Datenbank: Firebird • Version: 2.5 • Zugriff über: ZEOS
Hallo!

Wie kann man den Quelltext (DDL) eines Generators oder auch beliebiger anderer Objekte (Trigger, Stored Procedures...) mittels ZEOS als String/Memo abrufen?

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 16:04
Vielleicht wirst Du hier fündig, vieles davon sind alledings nur Objektnamen, immerhin:
https://www.alberton.info/firebird_sql_meta_info.html
Evtl. ist das mit Vorsicht zu genießen, weil es u.U. versionsabhängig ist...


Beispiel für View Source:
Code:
select rdb$view_source
from rdb$relations
where rdb$relation_name = '<your view name>'
Das ist dann wohl kein komplettes DDL. Müsste man zur erneuten Anwendung etwas aufmotzen.

Da es einfach nur select statements sind, kann man es einfach mit irgendeiner Querykomponente abrufen. Welche dürfte egal sein.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 18:12
Sieht auf den ersten Blick sehr vielversprechend aus. Ich wurschtel mich mal durch.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 18:28
Trigger: RDB$TRIGGERS
SPs: RDB$PROCEDURES
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 19:31
Trigger: RDB$TRIGGERS
SPs: RDB$PROCEDURES
Ja, die sind ja noch einfach. Die Generatoren kann ich nicht finden. Ich habe nämlich eine DB bekommen, wo es Generatoren gibt die über das einfache
Code:
CREATE GENERATOR <name>;
hinaus gehen. Mit Tools wie dem SQL Manager Lite kann ich die ja anzeigen, darum hats mich interessiert wie ich die mit ZEOS auslesen kann.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 19:53
Ein Generator ist ein unabhängig von einer Tabelle gespeicherter Wert. Für diesen gibt es keinen Quelltext.
Dieser wird meist durch einen Trigger oder auch im Programm verändert (mit SemaphorenFunktion GEN_ID()).
Der gesuchte Quelltext wird sich u.a. im BI-Trigger der/den entsprechenden Tabelle(n) befinden.
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#7

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 20:19
Generatoren stehen in RDB$GENERATORS:

select 'create generator '||RDB$GENERATOR_NAME||';as Generator from RDB$GENERATORS;
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 21:37
Generatoren stehen in RDB$GENERATORS:

select 'create generator '||RDB$GENERATOR_NAME||';as Generator from RDB$GENERATORS;
Das ist geschummelt Der Grund warum ich frage: Wenn ich mit SQL Manager Lite schaue, sehe ich bei manchen Generatoren folgende DDL:
Code:
CREATE GENERATOR <name>;

SET GENERATOR <name> TO 1000;
Die zweite Zeile ist offensichtlich ein Vorgabewert. Darum habe ich angenommen, es gäbe wie bei Procedures und Triggern eine statische DDL. Anscheinend schummelt der SQL Manager da aber auch. Nur woher kommt der Vorgabewert, in dem Fall die "1000"?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 21:48
Das wird der aktuelle Wert sein.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: Firebird Quelltext eines Generators lesen

  Alt 8. Sep 2018, 21:51
Evtl. ist das mit Vorsicht zu genießen, weil es u.U. versionsabhängig ist...
Immer mehr DBMS halten sich an SQL ANSI Standards
und bieten zusätzlich zu ihren eigenen Informations-Strukturen oftmals auch "einheitliche" VIEWs an, wie z.B. information_schema.tables usw.

Wenn möglich sollte man es immer erstmal darüber versuchen, was es dann auch einfacher macht die Version zu ändern oder auf andere DBMS zu wechseln, wenn man möglichst nur einheitliche Dinge benutzt.
$2B or not $2B

Geändert von himitsu ( 8. Sep 2018 um 21:53 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:21 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