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 |
|---|---|
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,
)