← Zurück zum Blog

SQLVantage: Ein Berichtssystem, das Datumberichtserstellung und -auslieferung einfach und effizient macht

经验分享 629 Aufrufe

Dieser Artikel stellt SQLVantage vor, ein leichtgewichtiges, webbasiertes Berichtssystem. Er beschreibt, wie das Tool SQL-Abfrage, Parameterformular und Ergebnisdarstellung in einer Oberfläche vereint, und behandelt Kernfunktionen wie Deployment per Entpacken, zustandsgesteuertes Berichtsmanagement, Spalten-Metadaten für den Excel-Export, Parameter-Verknüpfung ohne JavaScript sowie Berechtigungs-Isolierung. Eine nützliche Referenz für Teams, die ihre Berichte zentral verwalten möchten, insbesondere in Oracle-EBS-Umgebungen.

SQLVantage: Ein Berichtssystem, das Datumberichtserstellung und -auslieferung einfach und effizient macht

Ein sofort einsatzbereites Web-Reporting-Tool, das Ihnen hilft, die gesamte Kette aus Datenabfragen, Parameterformularen und Ergebnisdarstellung mühelos zu bewältigen.

Warum wird ein eigenständiges Berichtssystem benötigt?

Im täglichen Betrieb von Unternehmen sind Datenberichte ein unverzichtbarer Bestandteil. Ob finanzieller Abgleich, Vertriebsanalyse oder operatives Monitoring – nahezu jede Abteilung ist auf verschiedenste Formen der Berichtsausgabe angewiesen.

In der Praxis treten jedoch häufig folgende Probleme auf:

  • Datenfragmentierung: Berichts-SQLs sind über E-Mails, Chatverläufe und Skriptdateien verstreut und lassen sich schwer zentral verwalten und wiederverwenden;
  • Aufwendige Parameterübergabe: Bei jeder Abfrage muss das SQL manuell zusammengebaut oder der Code geändert werden, was fehleranfällig ist;
  • Inkonsistente Exportformate: Excel, PDF und HTML agieren jeweils für sich, was die Style-Pflege erschwert;
  • Schwaches Berechtigungscontrolling: Wer welche Daten eingesehen hat, ist aus den Vorgängen nicht klar ersichtlich;
  • Redundante Entwicklung: Bei ähnlichen Anforderungen müssen Front- und Back-End-Code in jedem Projekt neu geschrieben werden.

Deshalb wird ein leichtgewichtiges Berichtssystem notwendig, das Berichtsdefinitionen zentral verwaltet, parametrisierte Abfragen unterstützt, automatisch Ergebnisse in verschiedenen Formaten generiert und eine saubere Berechtigungstrennung bietet.

Kürzlich habe ich ein Berichtssystem namens SQLVantage kennengelernt (Version v1.0.2, veröffentlicht am 2026-07-15), das genau diese Schwachstellen adressiert. Das Designkonzept ist sehr klar: Ein standardisierter Prozess verknüpft die drei Aspekte „SQL-Abfrage, Parameterformular und Ergebnisdarstellung" und macht den gesamten Lebenszyklus eines Berichts nachvollziehbar.

In diesem Artikel fasse ich anhand der offiziellen Dokumentation das Kernkonzept und die Nutzungspfade zusammen, um Ihnen eine schnelle Einschätzung zu ermöglichen, ob es für Ihr Team geeignet ist.

1. Was ist SQLVantage?

SQLVantage ist ein Berichtssystem mit reinem Web-Architekturkonzept. Die Kernmerkmale sind:

  • Browserseitig ist keine Plugin-Installation erforderlich; ein moderner Browser genügt für den Zugriff;
  • Serverseitig wird nur eine ausführbare Datei und ein Konfigurationsverzeichnis benötigt – keine zusätzliche Laufzeitumgebung wie Java, Python oder Node.js;
  • Deployment wird sowohl unter Windows als auch unter Linux unterstützt;
  • Standardmäßig wird eine Oracle-Datenbank angebunden (besonders geeignet für Oracle-EBS-Szenarien), mit Erweiterungspotenzial für andere Datenbanken.

Kurzübersicht der Kernkonzepte

Konzept Beschreibung
Bericht Ein Bericht = SQL-Abfrage + Parameterformular (FORM) + Ergebnisdarstellung (HTML) + drei Format-JSON-Konfigurationen, zugehörig zu einer „Verantwortlichkeit"
Verantwortlichkeit Klassifizierungsverzeichnis für Berichte, entsprechend dem Verantwortlichkeitskonzept in Oracle EBS, zur gruppierten Anzeige für Benutzer nach Modulen
Parameter Abfragebedingungen (Datum, Kunde, Organisation usw.), die nach Übermittlung durch den Benutzer als benannte Parameter an die SQL-Ausführung gebunden werden
Anforderung Eine konkrete Berichtsausführungsaufgabe eines Benutzers, die das System asynchron ausführt und eine Ergebnisdatei erzeugt
Lizenz License-Datei, die die maximale Berichtsanzahl und die Nutzungsdauer steuert

Benutzerrollen

Das System unterscheidet zwei Rollen mit vollständig getrennten Einstiegspunkten und Berechtigungen:

  • Administrator (/admin/login): verwaltet Benutzer, Verantwortlichkeiten, Berichte, Lizenzen und Systemeinstellungen; kann die Anforderungen aller Benutzer einsehen;
  • Standardbenutzer (/login): wählt Berichte aus, füllt Parameter aus, reicht Anforderungen ein, sieht die eigenen Anforderungen, lädt Ergebnisse herunter und ändert das Passwort.

2. Installation und Deployment: wirklich „entpacken und verwenden"

Die Bereitstellung von SQLVantage kann als sehr „pragmatisch" bezeichnet werden.

Windows

Entpacken Sie das Release-Paket in ein beliebiges Verzeichnis (z. B. D:\SQLVantage) und starten Sie es per Doppelklick auf SQLVantage.exe. Standardmäßig wird 127.0.0.1:8080 überwacht; der Zugriff erfolgt einfach über den Browser.

Linux

Entpacken nach /opt/sqlvantage, Ausführungsberechtigung vergeben und dann mit nohup oder systemd im Hintergrund starten. Auch hier ist der Standardport 8080.

Automatische Initialisierung beim ersten Start

Beim ersten Start führt das System automatisch die folgenden Aktionen durch, was für Administratoren sehr angenehm ist:

  1. Prüfung, ob conf/data.dat vorhanden ist (die mitgelieferte Geschäfts-Datenbank);
  2. automatische Erstellung von vier Tabellen: user, responsibility, report und request;
  3. automatische Erstellung des Administrator-Kontos root mit dem Initialpasswort SQLVantage (nach Anmeldung unbedingt ändern);
  4. bei fehlender Lizenzdatei wird eine Warnung ausgegeben, das System bleibt jedoch funktionsfähig (nur die Berichtsanzahl ist eingeschränkt).

Dieses Design senkt die Kosten für einen „Test ab null" auf ein Minimum.

3. Aus Sicht des Administrators: Management des gesamten Berichtslebenszyklus

3.1 Benutzer- und Verantwortlichkeitsverwaltung

Der Administrator kann Standardbenutzer (Rolle normal) anlegen und deren Status auf active oder inactive setzen (bei Austritt deaktivieren, ohne das Konto zu löschen).

Die Verantwortlichkeitsverwaltung entspricht dem Verantwortlichkeitskonzept von Oracle EBS und kann auch manuell erstellt werden. Berichte müssen einer Verantwortlichkeit zugeordnet sein, sodass im Standardbenutzer-Bereich das Berichtsmenü automatisch nach Verantwortlichkeiten gruppiert angezeigt wird – das sorgt für ein klares Nutzungserlebnis.

3.2 Berichtsverwaltung: zustandsgesteuert

Berichte haben drei Zustände:

  • Draft (Entwurf): Designphase, für Benutzer nicht sichtbar;
  • Release (veröffentlicht): für Benutzer sichtbar und ausführbar;
  • Discard (verworfen): für Benutzer nicht sichtbar, die Historie wird jedoch保留.

Veröffentlichte Berichte können nicht direkt gelöscht werden – sie müssen zunächst in den Entwurfs- oder Verworfen-Zustand zurückversetzt werden. Diese Designentscheidung verhindert effektiv die versehentliche Löschung von Produktionsberichten.

Die Listenseite unterstützt das „Direkte Bearbeiten per Doppelklick auf eine Zelle" für Name, Beschreibung und Status – ein Detail, das die Bedienungseffizienz erhöht.

3.3 Lizenzverwaltung (License)

Die Lizenzdatei conf/license.dat steuert die maximale Berichtsanzahl und die Gültigkeitsdauer. Ohne Lizenz oder bei Ablauf erlaubt das System maximal 3 Berichte; darüber hinaus können keine neuen erstellt oder Anforderungen eingereicht werden.

Dieser Mechanismus ist für kommerzielle Versionen oder interne Test-Szenarien sehr praktisch – er behält den vollen Funktionsumfang bei und setzt gleichzeitig eine sinnvolle Schwelle.

4. Der Berichtsdesigner: das zentrale Highlight

Wenn es eine Funktion in SQLVantage gibt, die sich näher zu betrachten lohnt, dann ist es der Berichtsdesigner.

Er zerlegt den Entwicklungsprozess in drei unabhängige, aber miteinander verknüpfte Module, die in einer einzigen Oberfläche bearbeitet werden.

4.1 Designer-Layout

In der Berichtsliste klicken Sie auf die Schaltfläche „Code" (violett) in der Zeile des Berichts, woraufhin ein großer Designer geöffnet wird, der ca. 98 % des Bildschirms einnimmt. Die Oberfläche gliedert sich in:

  • oben: Dropdown zur Modusumschaltung (SQL / FORM / HTML) + Schaltfläche „Alle speichern";
  • linke Spalte: Code-Editor (Inhalt wechselt je nach Modus);
  • rechte Spalte: dynamisches Konfigurationspanel (zeigt je nach Modus unterschiedliche Konfigurationstabellen und eine Echtzeitvorschau).

Dieses Layout aus „Code links + Konfiguration rechts + Echtzeitvorschau" ist für Entwickler sehr intuitiv.

4.2 SQL-Modul: Definition der Datenquelle

SQL schreiben

Verwendet wird Oracle-Syntax, wobei Abfragebedingungen als benannte Parameter-Platzhalter mit :Parametername geschrieben werden:

SELECT company_name, ou_id, amount
  FROM fnd_ou_tl
 WHERE ou_id = :P_OU_ID

P_OU_ID muss hier mit dem im FORM-Modul definierten Parameternamen exakt übereinstimmen.

Spalten-Metadaten-Konfiguration — der Schlüssel zum Excel-Export

Im rechten Panel lässt sich für jede Spalte Folgendes konfigurieren:

  • field: der von der SQL ausgegebene Spaltenname
  • title: der angezeigte Tabellenkopf (auch Excel-Tabellenkopf)
  • type: text / number / percent / date / month / time / datetime
  • precision: Anzahl der Nachkommastellen
  • format: benutzerdefiniertes Excel-Format (z. B. #,##0.00)
  • align: Ausrichtung

Diese Konfiguration bestimmt unmittelbar die Professionalität des Excel-Exports — lokalisierte Tabellenköpfe, rechtsbündige Zahlen, Tausendertrennzeichen und Prozentformate lassen sich hier in einem Schritt erledigen.

Mit anderen Worten: Sobald die Spalten-Metadaten hier konfiguriert sind, hängt die Qualität des Excel-Exports nicht mehr von zusätzlichem Back-End-Code ab.

4.3 FORM-Modul: Gestaltung der Abfrageparameter

Dies ist der Einstiegspunkt für die Berichtsinteraktion. Jede Zeile der rechtsseitigen „Parameter-Konfigurationstabelle" definiert einen Abfrageparameter:

Feld Beschreibung
Parametername field muss mit dem :Parametername im SQL exakt übereinstimmen
Anzeige-Label label im Formular angezeigter Text
Komponententyp type text / number / select / radio / date / month / datetime / hidden / temp
Statische Optionen static_options Format Schlüssel:Wert,Schlüssel:Wert
Dynamische API / SQL unterstützt Platzhalter {Variablenname} zur Parameter-Verknüpfung

Parameter-Verknüpfung (abhängige Filterung)

Dies ist eine sehr praktische Eigenschaft des FORM-Moduls: Wenn eine nachgelagerte Dropdown-Liste von einem vorgelagerten Parameter abhängt (z. B. kann die „Departement-Liste" erst geladen werden, nachdem eine „Organisation" gewählt wurde), lässt sich in api_url oder query_sql ein Platzhalter wie {P_OU_ID} referenzieren.

Ändert der Benutzer den vorgelagerten Wert, aktualisiert das System automatisch die nachgelagerten Optionen — ohne zusätzlichen JavaScript-Code.

Unter dem rechten Panel befindet sich außerdem ein Echtzeit-Vorschaubereich: Nach Abschluss der Parameterkonfiguration ist das tatsächliche Rendering sichtbar, und der generierte HTML-Code kann per Klick „Kopieren und Anwenden" in den Editor übernommen werden.

4.4 HTML-Modul: Ergebnisdarstellung

Nach Abschluss der Berichtsausführung: In welcher Form werden die Ergebnisse dem Benutzer präsentiert? Das HTML-Modul ist für diese Definitionsebene zuständig.

Die rechtsseitige „HTML-Ansichtskomponenten-Konfiguration" unterstützt die Definition mehrerer Anzeigeblöcke, die jeweils Folgendes umfassen:

  • Container-ID
  • Titel
  • Rasterbreite (1–12)
  • Komponententyp: table (Tabelle), chart (Diagramm), card (Kennzahlenkarte), custom (benutzerdefinierter Container)
  • Diagrammtyp (line / bar)
  • X-/Y-Achsen-Feldzuordnung

Letztendlich rendert das System beim HTML-Download dynamisch eine vollständige Seite mit Tabellen, Diagrammen und KPI-Karten, wobei die Abfrageparameter ebenfalls oben im Ergebnis angezeigt werden.

Diese Designebene verleiht auch der „Darstellungsseite" der Berichte Konfigurationsfähigkeit, sodass für jeden Bericht keine separate Front-End-Seite mehr geschrieben werden muss.

4.5 Veröffentlichungsprozess

Der gesamte Prozess verläuft in einer geraden Linie:

  1. neuen Bericht anlegen (Status Draft wählen);
  2. in den Designer wechseln und nacheinander SQL → FORM → HTML konfigurieren;
  3. auf „Alle speichern" klicken;
  4. zur Berichtsliste zurückkehren und den Status auf Release ändern;
  5. der Standardbenutzer kann den Bericht nach der Anmeldung im entsprechenden Verantwortlichkeitsmenü sehen und ausführen.

5. Aus Sicht des Standardbenutzers: Bericht wählen → Parameter ausfüllen → Ergebnis abwarten

Der Ablauf für Standardbenutzer ist sehr schlank:

  1. Anmeldung auf der Portalseite (lokale Kontoanmeldung oder Oracle-EBS-ERP-Authentifizierung);
  2. Klick auf „Neue Berichtsanforderung";
  3. im Berichtsmenü nach Verantwortlichkeit gruppiert browsen oder nach Namen suchen;
  4. Bericht auswählen und das Parameterformular ausfüllen;
  5. einreichen; das System führt asynchron aus;
  6. in der Liste „Meine Anforderungen" den Status einsehen; nach Abschluss die Ergebnisse über das Dropdown „Ausgabe" als Excel / HTML / JSON / TEXT herunterladen.

Zustandsübergänge der Anforderungen

Queued (in Warteschlange) → Processing (wird ausgeführt) → Success (erfolgreich)
                                                        → Error (fehlgeschlagen)
                                                        → Terminated (Zeitüberschreitung)

Das System pollt alle 3 Sekunden die Aufgaben in der Warteschlange; der Parallelitätsgrad ist konfigurierbar, standardmäßig werden maximal 3 Aufgaben gleichzeitig ausgeführt. Das Timeout liegt standardmäßig bei 30 Minuten und kann in der Konfiguration angepasst werden.

6. Beachtenswerte Designdetails

1. Bericht = drei Codes + drei Format-JSONs

SQL, FORM und HTML haben jeweils sowohl einen „Code" als auch ein „Format-JSON", was Raum für spätere Versionsverwaltung und Wiederverwendung von Vorlagen lässt.

2. Excel-Export hängt strikt von Spalten-Metadaten ab

Es handelt sich nicht um einen „erst exportieren, dann nachbearbeiten"-Ansatz, sondern um eine Entscheidung über das Excel-Design bereits in der Entwurfsphase. Das bedeutet: Der Berichtsdesigner kann die Ausgabequalität vollständig kontrollieren, ohne sich auf zusätzliche Nachbereitungsskripte verlassen zu müssen.

3. Parameter-Verknüpfung ohne JavaScript

Der Platzhaltermechanismus implementiert Parameterabhängigkeiten und senkt die Einstiegshürde für die Front-End-Entwicklung.

4. Isolierung der Anforderungsberechtigungen

Standardbenutzer sehen nur ihre eigenen Anforderungen; der Administrator kann alle einsehen. Bei der Einreichung durch einen über ERP angemeldeten Benutzer prüft das System zusätzlich die OU/ORG-Organisationsberechtigungen, um unautorisierte Zugriffe zu verhindern.

5. Transparente Datenspeicherung

Alle Geschäftsdaten werden in conf/data.dat gespeichert, und die Ergebnisdateien werden im Verzeichnis data/ erzeugt. Bei einer Migration genügt es, die Verzeichnisse conf/ und data/ zu kopieren — sehr übersichtlich.

7. Anwendungsszenarien und Hinweise

Für welche Szenarien geeignet?

  • Zentrale Verwaltung von internen Datenberichten, insbesondere für Teams, die bereits Oracle EBS nutzen;
  • schnelle Auslieferung von Reporting-Anforderungen mit nachvollziehbarer Definition, Ausführung und Ergebnissen;
  • Senkung der Berichtsentwicklungskosten, sodass fachkundige Mitarbeiter oder DBAs mit SQL-Kenntnissen Berichte eigenständig konfigurieren können.

Hinweise

  • Die aktuelle Version ist standardmäßig auf Oracle zugeschnitten; bei Nutzung anderer Datenbanken (z. B. MySQL, PostgreSQL) ist eine eigenständige Anpassung erforderlich;
  • ohne Lizenz ist die Berichtsanzahl auf 3 begrenzt; für den produktiven Einsatz muss eine gültige Lizenzdatei importiert werden;
  • nach Änderung der Systemkonfiguration (Port, Oracle-Passwort usw.) muss der Dienst neu gestartet werden, damit die Änderungen wirksam werden (mit Ausnahme der Session-Timeout-Konfiguration).

Zum Schluss

Der Gesamteindruck von SQLVantage: pragmatisch, zurückhaltend, angenehm zu bedienen.

Es strebt nicht blind nach „Groß und umfassend", sondern konzentriert sich auf das Kernszenario „Bericht" und verbindet die Schlüsselaspekte SQL-Verwaltung, Parameter-Interaktion, Ergebnisdarstellung und Berechtigungs-Isolierung zu einer klaren und vollständigen Kette.

Für Teams, die mit dem Berichtswesen kämpfen, bietet es eine empfehlenswerte Referenzlösung — sowohl direkt als Produktionswerkzeug einsetzbar als auch als Lernbeispiel, um die Designideen eines leichtgewichtigen Web-Berichtssystems zu verstehen.

Wenn auch Sie ein einfaches, benutzerfreundliches und selbst hostbares Berichtssystem suchen, fangen Sie doch einfach mit SQLVantage an.

Dieser Artikel basiert auf der offiziellen Dokumentation von SQLVantage v1.0.2 (veröffentlicht am 2026-07-15). Weitere Details finden Sie in der mehrsprachigen Dokumentation, die dem Projekt beiliegt (Verzeichnis docs/).