Zum Inhalt

Freie Datenbank-Tabellen über GraphQL nutzen

Gen. 24 Enterprise

Freie Datenbank-Tabellen lassen sich über die GraphQL-Schnittstelle lesen und schreiben – vorausgesetzt, sie wurden im DB-Manager entsprechend vorbereitet. Diese Seite beschreibt, was dafür einzurichten ist und wie eine solche Tabelle anschließend über GraphQL erreichbar ist.

Voraussetzung: GraphQL-Bezeichnung im DB-Manager eintragen

Damit eine Freie Datenbank-Tabelle über GraphQL erreichbar ist, muss im DB-Manager das Feld „GraphQL-Bezeichnung" gefüllt sein. Bleibt das Feld leer, ist kein GraphQL-Zugriff auf diese Tabelle möglich.

Wo Sie das Feld finden:

Registerkarte: DATEI – INFORMATIONEN – EINSTELLUNGEN – DB-MANAGER → Freie Datenbank-Tabelle auswählen → Schaltfläche: ÄNDERN → Register: „Einstellungen"

Alt-Text

Das Feld „GraphQL-Bezeichnung" befindet sich im Abschnitt „Symbol und Bezeichnungen", unterhalb von „Datensatz-Bezeichnung". Der Hinweis in Klammern gibt das erforderliche Format vor: (Singular, Englisch).

Warum englisch und Singular?

Die Tabellen der microtech GraphQL-Schnittstelle folgen durchgehend einer englischen Benennung im Singular – zum Beispiel tblAddresses, tblProducts, tblTransactions. Dieses Muster entspricht dem GraphQL-Standard, der von Entwicklungswerkzeugen, Code-Generatoren und KI-gestützten Tools erwartet wird.

Freie Datenbank-Tabellen fügen sich mit dem Präfix tblCust in dieses Schema ein. Der eingetragene englische Bezeichner bildet zusammen mit diesem Präfix den Namen, unter dem die Tabelle im GraphQL-Schema erscheint:

GraphQL-Bezeichnung (DB-Manager) Tabellenname im GraphQL-Schema
MotorcycleAccessory tblCustMotorcycleAccessory
CustomerFeedback tblCustCustomerFeedback

Beachten Sie

Verwenden Sie ausschließlich lateinische Buchstaben und Ziffern für die GraphQL-Bezeichnung. Umlaute (ä, ö, ü), Sonderzeichen und Leerzeichen sind als GraphQL-Bezeichner nicht zulässig und führen zu Fehlern. Bewährt hat sich die Schreibweise in CamelCase: An sich anschließende Wörter werden mit Großschreibung optisch voneinander getrennt (z. B. MotorcycleAccessory).

Beispiel: Freie Tabelle „Motorradzubehör"

In diesem Beispiel wurde im DB-Manager eine Freie Datenbank-Tabelle für Motorradzubehör eingerichtet. Im Feld „GraphQL-Bezeichnung" wurde nun MotorcycleAccessory eingetragen, damit diese FreieDB auch mit GraphQL genutzt werden kann.

Alt-Text

Die Tabelle ist damit unter dem Namen tblCustMotorcycleAccessory über GraphQL erreichbar.

Datensätze abfragen

query {
  tblCustMotorcycleAccessory {
    rowsRead {
      fldID
      fldNr
      fldBez
      fldSuchBeg
      fldInfo
    }
  }
}

Neuen Datensatz anlegen

mutation {
  tblCustMotorcycleAccessory {
    rowNew {
      fldBez(set: { text: "Tankrucksack" })
      fldSuchBeg(set: { text: "TANKRUCKSACK" })
      fldFrei1(set: { text: "Gepäck" })
      rowSave {
        fldNr
        fldBez
      }
    }
  }
}

Hinweis

Welche Felder (fldFrei1, fldFrei2 usw.) in Ihrer Freien Datenbank-Tabelle verfügbar sind, hängt von der individuellen Einrichtung im DB-Manager ab. Die verfügbaren Felder lassen sich per Introspection ermitteln – weitere Informationen dazu finden Sie unter GraphQL Entwickler Dokumentation – Abfragen.

Berechtigungen

Der Zugriff auf eine Freie Datenbank-Tabelle über GraphQL setzt voraus, dass der verwendete Benutzer die entsprechende Berechtigung auf diese Tabelle besitzt. Ist keine Berechtigung vorhanden, wird die Tabelle im Schema nicht angezeigt.

Weitere Freie Datenbank-Tabellen anbinden

Jede Freie Datenbank-Tabelle, die über GraphQL erreichbar sein soll, muss einzeln mit einer GraphQL-Bezeichnung versehen werden. Tabellen ohne eingetragene Bezeichnung bleiben für GraphQL unsichtbar – unabhängig davon, ob sie im Programm aktiv genutzt werden. Prüfen Sie Ihren vorhandenen Freien Datenbank-Tabellen und ergänzen Sie bei allen benötigten Tabellen


Weiterführende Informationen: