Announcement

Collapse
No announcement yet.

Zugriff auf Tabellennamen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff auf Tabellennamen

    Hallo,

    ich bin noch Anfänger in Sachen Interbase und habe auch gleich eine, womöglich triviale, Frage zum Thema Zugriff auf Datenbanken.

    Ich habe eine Datenbank erstellt mit 3 Tabellen, das Ganze über SQL.
    Wenn ich nun später wieder auf die Datenbank, respektive auf die Tabellen zugreifen will, brauche ich für das SQL-SELECT Statement den Namen der Tabelle.

    Da ich den nicht speichern will, muss es doch eine Möglichkeit geben aus der Datenbank irgendwie die Namen der Tabellen auszulesen..
    Wenn ja, wie?

    Ich verwende Firebird mit IBO, sollte aber ähnlich mit Interbase o.ä. zu lösen sein..

    Vielen Dank,
    Sebastian

  • #2
    Hallo Sebastian,
    <br><br>
    versteh ich das richtig, dass Du in Deinen SELECT Anweisungen den Tabellennamen nicht fix angeben möchtest? Warum? Welchen Nutzen erwartest Du Dir davon?
    <br><br>
    Wie auch immer. Eine IBO-Lösung ist die Verwendung von <b>TIB_Connection.SchemaCache.TableNames</b>. Eine IBO unabhängige Lösung wäre eine direkte Abfrage auf die Systemtabelle <b>RDB$RELATIONS</b>.
    <br><br>
    Schöne Grüße,
    <br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Ich erzeuge Tabellen zur Laufzeit dynamisch (z.B. nummeriert), diese werden mit Daten gefüllt und nach einem Backup wieder gelöscht.

      Gleich noch eine Frage, ich muss die Daten gruppiert nach Art und Zeit speichern, macht es Sinn in einer grossen Datenbank viele Tabellen zu erzeugen oder sollte ich besser mehrere Datenbanken mit wenigen Tabellen anlegen?
      Die Daten liegen lokal auf meinem Rechner, werden später aber vielleicht auf einem Server abgelegt

      Comment


      • #4
        Hallo Sebastian,
        <br><br>
        ich kenne Deinen Anwendungsbereich, sowieso das erwartete Datenvolumen nicht. Ganz allgemein kann man sagen, dass InterBase keine Möglichkeit bietet, z.B. Referentielle Bedingungen über Datenbanken hinweg zu definieren. Des weiteren unterstützt InterBase auch keine Abfragen über mehrere Datenbanken. Da Du "Digitale Bildverarbeitung, Videoüberwachung" bei Deinem Namen stehen hast, hast Du vielleicht damit zu tun, Bilder/Videos in BLOB Feldern abzulegen. Bei einer großen Datenbank hat man dann das Problem, dass das Sicherungskonzept über ein Backup/Restore einiges an Zeit in Anspruch nehmen kann, da InterBase keine inkrementellen Backups unterstützt, sondern nach dem Alles-Oder-Nichts Prinzip vorgegangen werden muss. Wie Du siehst, pro und contra für beide Ansätze.
        <br><br>
        Schöne Grüße,
        <br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Vielen Dank für die Antworten, ich werde wohl noch etwas experimentieren :-

          Comment

          Working...
          X