ecm.db

Der Namespace ecm.db ermöglicht direkten SQL-Zugriff auf die Datenbank des ECM-Servers über den ado.ExecuteSQL-Job.

Der verbindende Benutzer benötigt entsprechende Datenbankzugriffsrechte auf dem Server. Datenmanipulationsoperationen (INSERT, UPDATE, DELETE) müssen über eine Registry-Einstellung am Applikationsserver explizit aktiviert werden.
Methode Beschreibung

select()

Führt ein SQL-Statement aus und gibt das geparste Ergebnis zurück.

1. SQL-Injection-Schutz

Zur Vermeidung von SQL-Injections bietet select() einen Parametermechanismus mit Platzhaltern. Niemals Benutzereingaben direkt via String-Formatierung in SQL einbauen:

# Falsch — anfällig für SQL-Injection
sql = f"SELECT * FROM benutzer WHERE benutzer = '{username}'"

# Richtig — Platzhalter verwenden
result = ecm.db.select(
    "SELECT * FROM benutzer WHERE benutzer = %s",
    username,
)