Skip to main content

DB Zugriff

Oft müssen in den Projekten spezifische Datenbank-Abfragen zu Stammdaten erfolgen oder Daten sollen zu einem definierten Zeitpunkt in eine Datenbank-Tabelle geschrieben werden. Dies kann mit relativ viel Code über die Funktionen aus der Portal-Script API umgesetzt werden. Beim Verbindungsaufbau wird das Benutzer-Passwort häufig im Klartext hinterlegt und häufig werden bei Fehlern die Datenbank-Verbindungen nicht geschlossen.

Sowohl die Invoice- als auch die Mailroom-Lösung greifen häufig lesend und schreibend auf die ausgelieferten Datenbanken zu. Um einfache SQL-Befehle auszuführen wurde eine Bibliothek mit dem SqlObject() erstellt. Das Objekt wird initial mit 2 Parametern aufgerufen:

@param {string} sqlTable  Name der Datenbank-Tabelle
@param {string} dbConnName Name der Datenbankverbindung aus der dbConn.json

Das Objekt enthält diverse property, von denen die wichtigsten hier angegeben werden. 

@property {string} Error Fehlermeldung in der Kontext-Sprache des aktuellen Benutzers.
@property {string} Result Wird initial auf boolean 'true' gesetzt und wird bei Fehlern auf 'false' gesetzt. Bei einem SELECT-Befehl enthält das Property das Ergebnis als Array. 
@property {string} Log Enthält die kompletten Log-Informationen.
@property {string} SQL Speichert den zuletzt ausgeführten SQL-Befehl.
@property {string} SQLTable Speichert den Tabellen-Namen.
@property {string} FullTable Aus dem Tabellen-Namen und den Verbindungsinformationen wird der komplette Tabellen-Name mit Datenbank und bei MS SQL auch inklusive "dbo" generiert.
Beispiel: "MeineTabelle" -> "Datenbankname.dbo.MeineTabelle"
@property {string} DBConn Speichert den Verbindungs-Namen aus der dbConn.json.

@property  {string} Error 
@property {*} Result