SQL-Konnektor
Übersicht
Abschnitt betitelt „Übersicht“Der SQL-Konnektor schreibt Daten in relationale Datenbanken.
Konnektor-Typ: SqlWriter
Unterstützte Datenbanken:
- MySQL
- PostgreSQL
- SQL Server (MSSQL)
Konfiguration
Abschnitt betitelt „Konfiguration“{ "type": "SqlWriter", "config": { "connectionString": "user:password@tcp(localhost:3306)/database_name", "driver": "mysql", "table": "sensor_data", "writeAction": "Insert", "mode": "ColumnMapping", "columns": { "temperature": "temp_column", "pressure": "press_column", "timestamp": "ts_column" } }}PostgreSQL
Abschnitt betitelt „PostgreSQL“{ "type": "SqlWriter", "config": { "connectionString": "host=localhost port=5432 user=postgres password=pass dbname=mydb sslmode=disable", "driver": "postgres", "table": "measurements", "writeAction": "Insert", "mode": "ColumnMapping", "columns": { "temperature": "temperature", "humidity": "humidity" } }}SQL Server
Abschnitt betitelt „SQL Server“{ "type": "SqlWriter", "config": { "connectionString": "sqlserver://user:pass@localhost:1433?database=mydb", "driver": "sqlserver", "table": "sensor_readings", "writeAction": "Upsert", "mode": "ColumnMapping", "columns": { "sensor_id": "id", "value": "reading_value" } }}Konfigurationsparameter
Abschnitt betitelt „Konfigurationsparameter“- connectionString: Datenbankspezifische Verbindungszeichenfolge
- driver: Datenbanktreiber (
mysql,postgres,sqlserver) - table: Zieltabellenname
- writeAction: Schreiboperation (
Insert,Update,Upsert) - mode: Zuordnungsmodus (
ColumnMapping) - columns: Zuordnung von Payload-Schlüsseln zu Datenbankspalten
Schreibaktionen
Abschnitt betitelt „Schreibaktionen“Neue Zeilen hinzufügen:
{ "writeAction": "Insert"}Vorhandene Zeilen aktualisieren (erfordert WHERE-Bedingung):
{ "writeAction": "Update"}Einfügen oder aktualisieren, falls vorhanden:
{ "writeAction": "Upsert"}Spaltenzuordnung
Abschnitt betitelt „Spaltenzuordnung“Meddle-Payload-Schlüssel zu Datenbankspalten zuordnen:
{ "columns": { "payload_key": "database_column", "temperature": "temp_celsius", "pressure": "pressure_bar", "timestamp": "recorded_at" }}Verbindungszeichenfolgen
Abschnitt betitelt „Verbindungszeichenfolgen“user:password@tcp(host:port)/database?param=valuePostgreSQL
Abschnitt betitelt „PostgreSQL“host=localhost port=5432 user=user password=pass dbname=db sslmode=disableSQL Server
Abschnitt betitelt „SQL Server“sqlserver://user:pass@host:port?database=db¶m=valueAnwendungsfall: Produktionsdaten-Logging
Abschnitt betitelt „Anwendungsfall: Produktionsdaten-Logging“{ "type": "SqlWriter", "config": { "connectionString": "user:pass@tcp(mysql.local:3306)/production", "driver": "mysql", "table": "machine_logs", "writeAction": "Insert", "mode": "ColumnMapping", "columns": { "machine_id": "machine_id", "temperature": "temperature", "speed": "rpm", "status": "operational_status", "timestamp": "log_time" } }}Best Practices
Abschnitt betitelt „Best Practices“- Geeignete Indizes für häufig abgefragte Spalten erstellen
Upsertfür idempotente Operationen verwenden- Sicherstellen, dass Tabellenschema mit Spaltenzuordnungen übereinstimmt
- Connection Pooling für Hochdurchsatz-Szenarien verwenden
- Datenbankleistung und Abfrageausführungszeiten überwachen
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Verbindung fehlgeschlagen
Abschnitt betitelt „Verbindung fehlgeschlagen“- Verbindungszeichenfolgen-Format überprüfen
- Sicherstellen, dass Datenbankserver läuft
- Anmeldeinformationen überprüfen
- Firewall-Regeln überprüfen
Spalte nicht gefunden
Abschnitt betitelt „Spalte nicht gefunden“- Sicherstellen, dass Spaltennamen in der Zuordnung mit Datenbankschema übereinstimmen
- Überprüfen, dass Tabelle existiert
- Groß-/Kleinschreibung überprüfen