KEPLIN Docs

Tipos soportados

Los seis motores de base de datos que una app puede conectar, los campos de cada uno, lo que cada motor sabe hacer, y las herramientas para crear y cambiar tablas sin salir de la plataforma.

Al crear un datasource, el campo Tipo decide todo lo demás: los campos de conexión que el formulario muestra, los marcadores de parámetros que el SQL usa, y lo que la plataforma te deja crear en esa base (vistas, procedimientos, triggers). Esta página recorre los seis tipos, uno a uno.

La lista de tipos de base de datos en el diálogo Nuevo datasource: los seis motores soportados.
La lista de tipos de base de datos en el diálogo Nuevo datasource: los seis motores soportados.

Vista rápida

Tipo Conecta a Puerto por defecto Particularidades
PostgreSQL Servidor PostgreSQL 5432 Interruptor Usar SSL
MySQL Servidor MySQL 3306 Interruptor Usar SSL
MariaDB Servidor MariaDB 3306 Interruptor Usar SSL
MS SQL Server Servidor Microsoft SQL Server 1433 Encrypt, Trust server certificate, TLS legado, Timeout de query (s)
Oracle Base Oracle — (va en la connect string) Un único campo Connect string
SQLite Base de datos local, en archivo — (no hay servidor) Sin credenciales; la base vive con la app

Nota

Los cinco primeros son bases de datos externas — servidores tuyos, que la plataforma contacta por la red con las credenciales que registres. El SQLite es el caso especial: una base de datos en archivo, guardada con la propia app.

PostgreSQL, MySQL y MariaDB

Los tres comparten el mismo formulario:

Campo Qué es
Host Dirección del servidor (nombre o IP)
Puerto Viene relleno con el del motor (5432 o 3306)
Database El nombre de la base de datos dentro del servidor
Usuario La cuenta con la que la plataforma se conecta
Contraseña La contraseña de esa cuenta — nunca vuelve a mostrarse
Usar SSL Activa el cifrado de la conexión, si el servidor lo exige o lo soporta

Consejo

Usa una cuenta de base de datos dedicada a la app, con privilegios solo sobre lo que la app necesita. Todas las queries — de APIs, scripts y consola — corren con esta cuenta, y sus privilegios son el techo de lo que la app puede hacer.

En MySQL y MariaDB, una columna BOOLEAN (TINYINT(1)) entra en el modelo como Sí/No. Las tablas traídas al modelo antes de esta versión mantienen la columna como número; la casilla funciona igual con ella (1 marcada, 0 desmarcada).

PostgreSQL de la plataforma

Si la instalación tiene un servidor PostgreSQL configurado, la pestaña Interno del modal de creación ofrece PostgreSQL sin ninguno de los campos anteriores: la plataforma crea una base de datos nueva en ese servidor, con una cuenta propia, y guarda las credenciales cifradas. La base queda cerrada a las demás apps y se elimina cuando se elimina el datasource. Para todo lo demás (modelo, APIs, consola SQL) se comporta como un PostgreSQL normal.

MS SQL Server

Además de Host, Puerto (1433), Database, Usuario y Contraseña, el SQL Server trae cuatro opciones propias:

Opción Para qué sirve
Timeout de query (s) Tiempo máximo de cada query, en segundos (viene a 30). Súbelo si tienes stored procedures largas — por debajo de eso, mueren a medias con error de timeout.
Encrypt Cifra la conexión (viene activado).
Trust server certificate Acepta el certificado del servidor sin validarlo — típico en servidores internos con certificado propio.
TLS legado (SQL Server antiguo) Ver abajo.

El propio formulario explica cuándo activar el último: «Activa el TLS legado si la conexión falla con un SQL Server antiguo (2008/2012) con errores de SSL/TLS — permite el handshake con cifrados/protocolos antiguos (implica confiar en el certificado del servidor).»

Los campos e interruptores específicos del MS SQL Server
Los campos e interruptores específicos del MS SQL Server

Consejo

¿Conexión a un SQL Server 2008/2012 fallando con mensajes de SSL? Casi siempre es esto: activa TLS legado y prueba de nuevo. La opción baja el nivel de seguridad solo de esta conexión — no afecta a los otros datasources.

Oracle

Oracle prescinde de host y puerto separados — la dirección va toda en un campo:

Campo Qué es
Connect string En el formato host:port/service_name — ej.: ora.interno.ejemplo.es:1521/CRMPROD
Usuario El schema/cuenta Oracle con el que la plataforma se conecta
Contraseña La contraseña de esa cuenta

El formulario Oracle con la Connect string rellenada
El formulario Oracle con la Connect string rellenada

Nota

En Oracle, conectarse como un usuario es entrar en su schema — las tablas de ese schema aparecen en el árbol de objetos sin prefijo.

SQLite — la base de datos que vive con la app

El SQLite es el tipo para datos que pertenecen a la app: prototipos, demos, una base pequeña que no justifica un servidor. No hay Host, Puerto, Usuario ni Contraseña — hay un archivo, y es la plataforma la que lo guarda:

  1. Elige SQLite en el campo Tipo.
  2. Opcionalmente, usa Importar base de datos (opcional) para enviar un archivo .db, .sqlite o .sqlite3 que ya tengas.
  3. Pulsa Crear. Como dice la ayuda del campo: «Sin archivo, se crea una base de datos vacía. El archivo queda guardado con la app — no hay rutas que indicar.»

Al elegir SQLite, el formulario se reduce al campo de importación — sin host ni credenciales
Al elegir SQLite, el formulario se reduce al campo de importación — sin host ni credenciales

Tres comportamientos que hay que saber:

  • Crear no tiene Probar conexión — el archivo aún no existe, no hay nada que probar. El botón aparece después de guardar, en la edición.
  • Editar nunca cambia el archivo — el archivo es el datasource; editar la conexión no crea una base nueva ni elimina datos.
  • Eliminar el datasource se despide de los datos — al contrario que en los tipos externos, aquí la base vive con la app.

Lo que cada motor sabe hacer

La plataforma solo te ofrece lo que el motor soporta — las opciones que no existen en un motor no aparecen en su menú. El mapa:

Capacidad PostgreSQL MySQL MariaDB MS SQL Server Oracle SQLite
Vistas Sí Sí Sí Sí Sí Sí
Funciones / procedimientos Sí Sí Sí Sí Sí No
Triggers — momentos BEFORE, AFTER, INSTEAD OF BEFORE, AFTER BEFORE, AFTER AFTER, INSTEAD OF BEFORE, AFTER, INSTEAD OF BEFORE, AFTER, INSTEAD OF
Trigger con varios eventos a la vez Sí No (uno por evento) No (uno por evento) Sí Sí No
Trigger diseñado en el canvas visual Sí Sí Sí Sí Sí No (solo SQL)
Cambiar tipo/nulidad de columna existente Sí Sí Sí Sí Sí No
Campo Schema (opcional) en los objetos Sí — — Sí Sí —

Nota

En SQL Server no existe BEFORE — el equivalente es INSTEAD OF. Y en SQLite, cambiar el tipo de una columna existente obliga a recrear la tabla; la opción no aparece.

Crear y cambiar objetos (DDL)

No necesitas otra herramienta para trabajar la estructura de la base: el menú ⋯ de cada datasource en el panel Datos crea objetos, y el árbol edita los existentes. En todos los casos la plataforma genera el SQL para el motor del datasource y lo ejecuta de verdad en la base de datos.

Acción Qué hace
Nueva tabla «Define las columnas — generamos el CREATE TABLE para el motor y lo ejecutamos.» Columnas con tipo, Permite NULL, Clave primaria (PK), Autoincremento, y nombre amigable para las apps.
Editar estructura (en una tabla) «Cambia columnas e índices — genera y ejecuta el ALTER / CREATE INDEX correspondiente.» También crea y elimina índices.
Nueva vista Escribes el SQL de la vista y se ejecuta.
Nueva función / procedimiento Escribes el SQL y se ejecuta (en los motores que los soportan).
Nuevo trigger Datos iniciales en el modal; el flujo se construye después en el canvas visual.
Actualizar objetos Relee la estructura de la base — úsalo después de cambios hechos fuera de la plataforma.

El modal Nueva tabla: define las columnas y la plataforma genera y ejecuta el CREATE TABLE
El modal Nueva tabla: define las columnas y la plataforma genera y ejecuta el CREATE TABLE

Atención

Esto es DDL de verdad, en tu base de datos de verdad — un DROP o un ALTER aquí es tan definitivo como ejecutado en cualquier otro cliente SQL. Y solo funciona si el Usuario de la conexión tiene privilegios para crear y cambiar objetos.

La Consola SQL

Al fondo de la pantalla Modelo de cada datasource vive la Consola SQL: escribe a la izquierda, pulsa Ejecutar, y los resultados aparecen en tabla (hasta 500 filas), con filtros por columna. El editor autocompleta con las tablas y columnas del datasource, y el Ver datos de cualquier tabla del árbol abre la consola ya con un select listo.

Ver datos abre la consola SQL ya con la consulta hecha — las filas reales de la tabla, bajo el modelo.
Ver datos abre la consola SQL ya con la consulta hecha — las filas reales de la tabla, bajo el modelo.

La consola es de administradores, y las operaciones de escritura quedan registradas en la auditoría — los detalles están en la página Probar la conexión y seguridad.

Marcadores de parámetros por motor

Cuando escribes SQL en scripts, los valores pasan en una lista aparte — nunca pegados a la frase — y cada motor tiene su sintaxis de marcador:

Motor Marcadores Ejemplo
PostgreSQL $1, $2, … select * from contas where cidade = $1
MySQL / MariaDB ? select * from contas where cidade = ?
MS SQL Server @p1, @p2, … select * from contas where cidade = @p1
Oracle :1, :2, … select * from contas where cidade = :1
SQLite ? select * from contas where cidade = ?

Consejo

En los pasos SQL de las APIs no necesitas esta tabla: escribes :nombreDelArg y la plataforma se encarga de la conversión al motor elegido. En Oracle, evita pasar fechas como parámetro — prefiere el literal, ej.: TO_DATE('2026-06-25','YYYY-MM-DD').