Kasimir Docs DEEN To the app →

SQL-Datenbanken

Lesenden Zugriff auf PostgreSQL, MySQL/MariaDB und SQL Server einrichten — mit technisch erzwungener Beschränkung auf SELECT.

Kasimir kann lesend auf Eure SQL-Datenbanken zugreifen: Tabellen auflisten, ihren Aufbau ansehen und Auswertungen abfragen — im Chat, in Assistenten und in Workflows. Schreiben ist ausgeschlossen, und zwar nicht durch Absprache, sondern technisch.

SQL-DatenbankenVerbinde lesende SQL-Datenbanken, damit Agenten Tabellen abfragen können.Zugriff ist auf SELECT-Abfragen beschränkt.Datenbank hinzufügenDer DSN wird beim Speichern einmal getestet und dann verschlüsselt abgelegt.Namez. B. Produktions-ReportingEnginePostgreSQLVerbindungs-DSNpostgres://user:pass@host:5432/datenbankWird verschlüsselt gespeichert und nie wieder angezeigt.SichtbarkeitNur für michHinzufügenVerbindung testenVerbundene DatenbankenProduktions-ReportingPostgreSQLdb.intern.firma.deTesten
Der Dialog „SQL-Datenbanken“: Verbindung anlegen, testen, und darunter die bereits verbundenen Datenbanken.

Datenbank verbinden

Öffne Einstellungen → Verbindungen und klicke auf die Kachel SQL-Datenbanken. Im Dialog trägst Du ein:

Feld

Bedeutung

Name

Wie die Datenbank in Kasimir heißen soll, z. B. „Produktions-Reporting“

Engine

PostgreSQL, MySQL / MariaDB oder SQL Server

Verbindungs-DSN

Die Verbindungszeichenfolge, z. B. postgres://user:pass@host:5432/datenbank

Sichtbarkeit

Nur für mich, Firmenweit oder Projektweit

Der DSN wird beim Speichern einmal getestet und dann verschlüsselt abgelegt. Er wird danach nie wieder angezeigt — auch nicht Dir. Mit Verbindung testen prüfst Du vorab; gelingt es, meldet Kasimir, wie viele Tabellen gefunden wurden.

Lege in Eurer Datenbank am besten einen eigenen Benutzer mit reinen Leserechten an und benutze dessen Zugangsdaten. Kasimir erzwingt zwar Lese-Abfragen, aber eine Beschränkung auf Datenbankseite ist die belastbarere Grenze.

Was im Chat möglich ist

Werkzeug

Wirkung

sql_list_connections

Zeigt, welche Datenbanken verbunden sind

sql_list_tables

Listet die Tabellen einer Datenbank

sql_table_schema

Zeigt Spalten und Typen einer Tabelle

sql_query

Führt eine Lese-Abfrage aus

Die Werkzeuge erscheinen im Tools-Menü des Chats, sobald mindestens eine Datenbank verbunden ist.

Warum nur gelesen werden kann

Jede Abfrage durchläuft vor der Ausführung eine Prüfung. Abgelehnt wird alles, was nicht eine einzelne Lese-Abfrage ist:

  • Die Anweisung muss mit SELECT oder WITH beginnen.

  • Mehrere Anweisungen hintereinander sind nicht erlaubt — ein Semikolon mitten in der Abfrage führt zur Ablehnung.

  • Schreibende und strukturverändernde Schlüsselwörter werden erkannt und abgewiesen, darunter INSERT, UPDATE, DELETE, DROP, ALTER, CREATE und TRUNCATE.

  • Auch ein einzelnes INTO ist gesperrt: SELECT … INTO neue_tabelle wäre auf manchen Systemen ein verstecktes Schreiben.

Texte in Anführungszeichen werden vor dieser Prüfung ausgeblendet — ein Suchbegriff wie „Update“ in einem Feldwert löst also keinen Fehlalarm aus, ein echtes Schlüsselwort außerhalb von Anführungszeichen dagegen schon.

Dieselbe Prüfung läuft ein zweites Mal auf dem Server, der die Datenbankverbindung tatsächlich öffnet. Eine Abfrage müsste also beide Kontrollen passieren.

Grenzen einer Abfrage

Eine Abfrage liefert höchstens 200 Zeilen. Wird gekappt, sagt Kasimir das in der Antwort dazu — Du siehst also, wenn das Ergebnis unvollständig ist, und kannst die Abfrage enger fassen.