Conector SQL
Descripción General
Sección titulada «Descripción General»El conector SQL escribe datos en bases de datos relacionales.
Tipo de Conector: SqlWriter
Bases de Datos Soportadas:
- MySQL
- PostgreSQL
- SQL Server (MSSQL)
Configuración
Sección titulada «Configuración»{ "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
Sección titulada «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
Sección titulada «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" } }}Parámetros de Configuración
Sección titulada «Parámetros de Configuración»- connectionString: Cadena de conexión específica de la base de datos
- driver: Driver de base de datos (
mysql,postgres,sqlserver) - table: Nombre de la tabla de destino
- writeAction: Operación de escritura (
Insert,Update,Upsert) - mode: Modo de mapeo (
ColumnMapping) - columns: Mapear claves de carga a columnas de base de datos
Acciones de Escritura
Sección titulada «Acciones de Escritura»Agregar nuevas filas:
{ "writeAction": "Insert"}Actualizar filas existentes (requiere condición WHERE):
{ "writeAction": "Update"}Insertar o actualizar si existe:
{ "writeAction": "Upsert"}Mapeo de Columnas
Sección titulada «Mapeo de Columnas»Mapear claves de carga de Meddle a columnas de base de datos:
{ "columns": { "payload_key": "database_column", "temperature": "temp_celsius", "pressure": "pressure_bar", "timestamp": "recorded_at" }}Cadenas de Conexión
Sección titulada «Cadenas de Conexión»user:password@tcp(host:port)/database?param=valuePostgreSQL
Sección titulada «PostgreSQL»host=localhost port=5432 user=user password=pass dbname=db sslmode=disableSQL Server
Sección titulada «SQL Server»sqlserver://user:pass@host:port?database=db¶m=valueCaso de Uso: Registro de Datos de Producción
Sección titulada «Caso de Uso: Registro de Datos de Producción»{ "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" } }}Mejores Prácticas
Sección titulada «Mejores Prácticas»- Crea índices apropiados en columnas consultadas frecuentemente
- Usa
Upsertpara operaciones idempotentes - Asegúrate de que el esquema de la tabla coincida con los mapeos de columnas
- Usa connection pooling para escenarios de alto rendimiento
- Monitorea el rendimiento de la base de datos y tiempos de ejecución de consultas
Solución de Problemas
Sección titulada «Solución de Problemas»Conexión Fallida
Sección titulada «Conexión Fallida»- Verifica el formato de la cadena de conexión
- Verifica que el servidor de base de datos esté funcionando
- Verifica las credenciales
- Verifica las reglas del firewall
Columna No Encontrada
Sección titulada «Columna No Encontrada»- Asegúrate de que los nombres de columnas en el mapeo coincidan con el esquema de la base de datos
- Verifica que la tabla exista
- Verifica la sensibilidad a mayúsculas/minúsculas