SQL Server
El componente SQL Server es tu puente de conexión directo con bases de datos Microsoft SQL Server dentro del ecosistema Nappai. Su función principal es permitirte interactuar con tus datos de manera segura: puedes leer información, insertar nuevos registros, actualizar datos existentes o eliminar registros según lo necesites.
Actúa como un adaptador inteligente que se encarga de todo lo complejo (como validar tus credenciales, cifrar la conexión y mantener el canal abierto) para que tú solo te preocupes por trabajar con tu información.
¿Cómo funciona?
Cuando agregas este componente a tu flujo de trabajo, el sistema prepara automáticamente una conexión segura con tu servidor de bases de datos SQL Server.
- Validación: Primero, el componente verifica que tengas permiso de acceso usando las credenciales que configures.
- Ejecución: Dependiendo de lo que elijas hacer (por ejemplo, leer una tabla o ejecutar una consulta personalizada), el componente envía esa instrucción al servidor.
- Resultados: Una vez que la base de datos procesa la solicitud, el componente devuelve los datos resultantes para que puedas usarlos en pasos siguientes de tu automatización.
Este componente es ideal para automatizaciones donde necesitas recuperar información de tus sistemas de gestión, actualizar estados de procesos o integrar datos entre diferentes aplicaciones.
Conexión y Credenciales
Para que este componente funcione, es obligatorio configurar previamente una credencial en el panel de Nappai. Este paso asegura que solo tú y los sistemas autorizados puedan acceder a tu base de datos.
- Dirígete a la sección de Credenciales en tu panel de Nappai.
- Crea una nueva credencial del tipo SQL Server.
- Rellena los campos requeridos:
- Connection Method: Selecciona cómo te conectarás.
- SQL Server Connection URL: La ruta completa de conexión.
- User y Password: Tus credenciales de acceso a la base de datos.
- Host y Port: La dirección y el puerto de tu servidor.
- Database: El nombre de la base de datos específica.
- Trust Server Certificate: Actívalo si estás en un entorno de pruebas o usas certificados autofirmados.
- Guarda la credencial.
- Vuelve a este componente y selecciona la credencial que acabas de crear en el campo Credential.
Operaciones
Este componente ofrece varias operaciones principales que puedes seleccionar en el campo Operation para decidir qué acción realizar con tus datos. Solo puedes usar una operación a la vez:
- Select: Realiza consultas de lectura para obtener datos de la base de datos.
- Insert: Añade nuevos registros a una tabla específica.
- Update: Modifica registros existentes que cumplan con ciertos criterios.
- Delete: Elimina registros específicos según un filtro o clave principal.
Para usar el componente, primero selecciona la operación que necesitas en el campo “Operation”.
Entradas
Los siguientes campos están disponibles para configurar este componente. Estos campos te permiten definir qué tabla usar, qué consulta ejecutar y cómo filtrar tus datos.
- sqlserver_driver: Controlador de SQL Server (versión heredada, no utilizada con pymssql).
- Number of Results: Número máximo de resultados a devolver.
- Operation: Selecciona la operación de SQL Server que deseas realizar.
- Return All: Indica si deseas devolver todos los resultados o solo hasta un límite dado.
- Use Filters: Habilita el modo de selección para filtrar registros por clave principal o filtros personalizados.
- Table Name: Selecciona la tabla en la que deseas operar.
- Schema: Selecciona el esquema en el que deseas operar.
- Custom Query: Escribe tu consulta SQL aquí. Ejemplos:
SELECT * FROM dbo.users WHERE age > 25,UPDATE products SET price = 100 WHERE id = 5,INSERT INTO customers (name, email) VALUES ('John', 'john@email.com'),DELETE FROM dbo.table WHERE status = 'cancelled'. Puedes escribir varias líneas para consultas complejas. - Selection Mode: Elige cómo seleccionar registros (Por Clave Principal o Por Filtros).
- Primary Key Value: ID del registro a actualizar/eliminar (valor de clave principal).
- Select Filter Type: Elige cómo construir tus condiciones de búsqueda: Modo String (recomendado para filtros simples) o Modo Manual (avanzado).
- Filter String: Condiciones de búsqueda. Ejemplos:
age > 25,name = 'Anna' AND city = 'Madrid'. Si se deja vacío en una operación de obtener, se devolverán todos los registros. - Limit: Número de resultados a devolver.
- Number of Filters to use: Número de filtros para decidir qué filas se recuperan.
- Detail Level: Elige qué devolver: solo nombres de tablas o detalles completos de columnas para una tabla específica.
- Table: Selecciona la tabla para obtener detalles de columnas.
Salidas
Este componente produce resultados que puedes utilizar en las siguientes etapas de tu flujo de automatización.
- Data: Contiene los registros devueltos tras la ejecución de una consulta o el estado de confirmación de una transacción. Es el resultado principal para procesar más datos.
- Database Info: Proporciona información metadatos sobre la base de datos, como nombres de tablas o detalles de columnas.
Ejemplo de Respuesta JSONjson
{ “Data”: [ { “id”: 1, “name”: “Juan Pérez”, “email”: “juan@email.com”, “status”: “active” }, { “id”: 2, “name”: “María García”, “email”: “maria@email.com”, “status”: “pending” } ], “Database Info”: { “tables”: [“users”, “products”, “orders”], “connection_status”: “success” } }
Conectividad
Este componente se conecta lógicamente con nodos que requieren datos estructurados o desean modificar el estado de una base de datos.
- Hacia nodos de Transformación: Una vez que obtienes los datos mediante Data, puedes enviarlos a nodos de filtrado, mapeo o transformación para limpiarlos o enriquecerlos antes de tomar decisiones.
- Hacia nodos de Integración: Si usas operaciones de inserción o actualización (Insert, Update), los datos fluyen directamente hacia la base de datos, afectando el estado de tus registros.
- Desde nodos de Disparadores: Suele ser el primer paso tras un evento que requiere consultar datos, como verificar si un pedido existe antes de enviar una notificación.
Ejemplo de Uso
Imagina que necesitas automatizar la revisión de pedidos pendientes.
- Añades el componente SQL Server.
- Seleccionas la operación Select.
- En Custom Query, escribes:
SELECT * FROM pedidos WHERE estado = 'pendiente'. - Conectas la salida Data a un nodo que envíe correos electrónicos a los responsables para que procesen esos pedidos.
De esta forma, automáticamente recuperas solo los datos que necesitas sin tener que revisar toda la base de datos manualmente.
Notas Importantes
🔒 Security ⚠️ Las credenciales se manejan de forma segura. Asegúrate de no compartir tus contraseñas y utiliza certificados TLS/SSL si estás en producción.
⚠️ Limitation 🟡 Este componente se encuentra en modo Desarrollo (Beta). Esto significa que su comportamiento, API o parámetros pueden cambiar sin previo aviso en futuras versiones. Se recomienda usarlo primero en entornos de pruebas (staging).
💡 Best Practice 🟢 Valida rigurosamente los esquemas de entrada y salida antes de mover este componente a producción. Prepárate para actualizar configuraciones si el framework cambia.
Consejos y Mejores Prácticas
- Valida tus conexiones: Asegúrate de que la credencial configurada tenga los permisos correctos sobre las tablas que quieres consultar o modificar.
- Usa Filtros: Cuando trabajas con grandes bases de datos, utiliza el campo Use Filters o Filter String para recuperar solo los datos que necesitas y mejorar el rendimiento.
- Consulta Personalizada: Si tus necesidades son complejas, el campo Custom Query es muy potente. Puedes escribir consultas SQL avanzadas directamente.
- Entorno de Pruebas: Dado que está en modo desarrollo, úsalo primero en un entorno seguro donde un cambio no afecte datos críticos.
Consideraciones de Seguridad
Este componente gestiona internamente la encriptación de credenciales y el control de versiones del protocolo TDS (Tabular Data Stream). Asegúrate de confiar en el certificado del servidor si es autofirmado, especialmente en entornos de desarrollo.