KEPLIN Docs

Tipi supportati

I sei motori di database che un'app può collegare, i campi di ognuno, ciò che ogni motore sa fare, e gli strumenti per creare e modificare tabelle senza uscire dalla piattaforma.

Creando un datasource, il campo Tipo decide tutto il resto: i campi di connessione che il modulo mostra, i segnaposto dei parametri che l'SQL usa, e ciò che la piattaforma ti lascia creare in quel database (viste, procedure, trigger). Questa pagina percorre i sei tipi, uno per uno.

L'elenco dei tipi di database nella finestra Nuovo datasource: i sei motori supportati.
L'elenco dei tipi di database nella finestra Nuovo datasource: i sei motori supportati.

Sguardo rapido

Tipo Si collega a Porta predefinita Particolarità
PostgreSQL Server PostgreSQL 5432 Interruttore Usa SSL
MySQL Server MySQL 3306 Interruttore Usa SSL
MariaDB Server MariaDB 3306 Interruttore Usa SSL
MS SQL Server Server Microsoft SQL Server 1433 Encrypt, Trust server certificate, TLS legacy, Timeout query (s)
Oracle Database Oracle — (va nella connect string) Un unico campo Connect string
SQLite Database locale, su file — (non c'è un server) Senza credenziali; il database vive con l'app

Nota

I primi cinque sono database esterni — server tuoi, che la piattaforma contatta via rete con le credenziali che registri. SQLite è il caso speciale: un database su file, conservato insieme all'app stessa.

PostgreSQL, MySQL e MariaDB

I tre condividono lo stesso modulo:

Campo Che cos'è
Host Indirizzo del server (nome o IP)
Porta Arriva compilata con quella del motore (5432 o 3306)
Database Il nome del database dentro il server
Utente L'account con cui la piattaforma si collega
Password La password di quell'account — non viene mai più mostrata
Usa SSL Attiva la cifratura della connessione, se il server la richiede o la supporta

Dica

Usa un account di database dedicato all'app, con privilegi solo su ciò di cui l'app ha bisogno. Tutte le query — di API, script e console — girano con questo account, e i suoi privilegi sono il tetto di ciò che l'app riesce a fare.

MS SQL Server

Oltre a Host, Porta (1433), Database, Utente e Password, SQL Server porta quattro opzioni proprie:

Opzione A che cosa serve
Timeout query (s) Tempo massimo di ogni query, in secondi (arriva a 30). Alzalo se hai stored procedure lunghe — al di sotto, muoiono a metà con un errore di timeout.
Encrypt Cifra la connessione (arriva attivo).
Trust server certificate Accetta il certificato del server senza validarlo — tipico nei server interni con certificato proprio.
TLS legacy (SQL Server datato) Vedi qui sotto.

Il modulo stesso spiega quando attivare l'ultimo: "Attiva il TLS legacy se la connessione a un SQL Server datato (2008/2012) fallisce con errori SSL/TLS — permette l'handshake con cifrari/protocolli vecchi (implica fidarsi del certificato del server)."

I campi e gli interruttori specifici di MS SQL Server
I campi e gli interruttori specifici di MS SQL Server

Dica

Connessione a un SQL Server 2008/2012 che fallisce con messaggi SSL? È quasi sempre questo: attiva TLS legacy e prova di nuovo. L'opzione abbassa il livello di sicurezza solo di questa connessione — non tocca gli altri datasource.

Oracle

Oracle non chiede host e porta separati — l'indirizzo va tutto in un campo:

Campo Che cos'è
Connect string Nel formato host:port/service_name — es.: ora.interno.esempio.it:1521/CRMPROD
Utente Lo schema/account Oracle con cui la piattaforma si collega
Password La password di quell'account

Il modulo Oracle con la Connect string compilata
Il modulo Oracle con la Connect string compilata

Nota

In Oracle, collegarsi come un utente significa entrare nel suo schema — le tabelle di quello schema appaiono nell'albero degli oggetti senza prefisso.

SQLite — il database che vive con l'app

SQLite è il tipo per i dati che appartengono all'app: prototipi, demo, un database piccolo che non giustifica un server. Non ci sono Host, Porta, UtentePassword — c'è un file, ed è la piattaforma a conservarlo:

  1. Scegli SQLite nel campo Tipo.
  2. Facoltativamente, usa Importa database (opzionale) per inviare un file .db, .sqlite o .sqlite3 che hai già.
  3. Premi Crea. Come dice l'aiuto del campo: "Senza file, viene creato un database vuoto. Il file resta salvato con l'app — non ci sono percorsi da indicare."

Scegliendo SQLite, il modulo si riduce al campo di importazione — senza host né credenziali
Scegliendo SQLite, il modulo si riduce al campo di importazione — senza host né credenziali

Tre comportamenti da conoscere:

  • In creazione non c'è Prova connessione — il file non esiste ancora, non c'è nulla da provare. Il pulsante appare dopo il salvataggio, in modifica.
  • La modifica non sostituisce mai il file — il file è il datasource; modificare la connessione non crea un database nuovo né cancella dati.
  • Eliminare il datasource dice addio ai dati — al contrario dei tipi esterni, qui il database vive con l'app.

Che cosa sa fare ogni motore

La piattaforma ti offre solo ciò che il motore supporta — le opzioni che non esistono in un motore non appaiono nel suo menu. La mappa:

Capacità PostgreSQL MySQL MariaDB MS SQL Server Oracle SQLite
Viste
Funzioni / procedure No
Trigger — momenti BEFORE, AFTER, INSTEAD OF BEFORE, AFTER BEFORE, AFTER AFTER, INSTEAD OF BEFORE, AFTER, INSTEAD OF BEFORE, AFTER, INSTEAD OF
Trigger con più eventi in una volta No (uno per evento) No (uno per evento) No
Trigger disegnato nel canvas visuale No (solo SQL)
Modificare tipo/nullabilità di una colonna esistente No
Campo Schema (opzionale) negli oggetti

Nota

In SQL Server non esiste BEFORE — l'equivalente è INSTEAD OF. E in SQLite, cambiare il tipo di una colonna esistente obbliga a ricreare la tabella; l'opzione non appare.

Creare e modificare oggetti (DDL)

Non ti serve un altro strumento per lavorare sulla struttura del database: il menu di ogni datasource nel pannello Dati crea oggetti, e l'albero modifica quelli esistenti. In tutti i casi la piattaforma genera l'SQL per il motore del datasource e lo esegue davvero nel database.

Azione Che cosa fa
Nuova tabella "Definisci le colonne — generiamo il CREATE TABLE per il motore e lo eseguiamo." Colonne con tipo, Consente NULL, Chiave primaria (PK), Incremento automatico, e nome descrittivo per le app.
Modifica struttura (su una tabella) "Modifica colonne e indici — genera ed esegue l'ALTER / CREATE INDEX corrispondente." Crea ed elimina anche gli indici.
Nuova vista Scrivi l'SQL della vista e la esegue.
Nuova funzione / procedura Scrivi l'SQL e la esegue (nei motori che le supportano).
Nuovo trigger Dati iniziali nel modale; il flusso si costruisce dopo nel canvas visuale.
Aggiorna oggetti Rilegge la struttura del database — usalo dopo modifiche fatte fuori dalla piattaforma.

Il modale Nuova tabella: definisci le colonne e la piattaforma genera ed esegue il CREATE TABLE
Il modale Nuova tabella: definisci le colonne e la piattaforma genera ed esegue il CREATE TABLE

Atenção

Questo è DDL vero, nel tuo database vero — un DROP o un ALTER qui è definitivo tanto quanto eseguito in qualsiasi altro client SQL. E funziona solo se l'Utente della connessione ha i privilegi per creare e modificare oggetti.

La Console SQL

In fondo alla schermata Modello di ogni datasource vive la Console SQL: scrivi a sinistra, premi Esegui, e i risultati appaiono in tabella (fino a 500 righe), con i filtri per colonna. L'editor completa automaticamente con le tabelle e le colonne del datasource, e il Visualizza dati di qualsiasi tabella dell' albero apre la console già con un select pronto.

Visualizza dati apre la Console SQL già con la query pronta — le righe reali della tabella, sotto il modello.
Visualizza dati apre la Console SQL già con la query pronta — le righe reali della tabella, sotto il modello.

La console è per gli amministratori, e le operazioni di scrittura restano registrate nell' audit — i dettagli sono nella pagina Provare la connessione e la sicurezza.

Segnaposto dei parametri per motore

Quando scrivi SQL negli script, i valori passano in un elenco a parte — mai incollati nella frase — e ogni motore ha la sua sintassi di segnaposto:

Motore Segnaposto Esempio
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 = ?

Dica

Nei passaggi SQL delle API questa tabella non ti serve: scrivi :nomeDoArg e la piattaforma si occupa della conversione per il motore scelto. In Oracle, evita di passare le date come parametro — preferisci il letterale, es.: TO_DATE('2026-06-25','YYYY-MM-DD').