Sorgenti dati
Le connessioni ai tuoi database Oracle e PostgreSQL, per ambiente, con credenziali cifrate e accesso in sola lettura.
Una sorgente dati collega Prynt a un database che usi già. I dataset ne leggono le righe con SQL, sempre in sola lettura. Gestisci le sorgenti dati nella pagina Sorgenti dati di un workspace.
Che cos'è una sorgente dati
Una sorgente dati è logica: un nome, un codice come ERP_MAIN e un tipo di database. Host, utente e password veri stanno nelle sue connessioni, una per ogni ambiente del workspace. I template indicano il codice, mai una stringa di connessione: lo stesso template legge il database di sviluppo nel Designer e quello di produzione quando il tuo sistema di produzione lo genera.
- Il codice usa lettere maiuscole, cifre e trattini bassi, inizia con una lettera (al massimo 64 caratteri) e non si può cambiare dopo la creazione: i dataset e le versioni pubblicate lo usano.
- Una sorgente dati è la predefinita del workspace: i dataset che non indicano una sorgente dati leggono quella. La prima sorgente dati è sempre la predefinita; Rendi predefinita sposta il ruolo su un'altra.
- Il tipo non si può cambiare dopo la creazione. Eliminare una sorgente dati elimina le sue connessioni e le credenziali salvate.
Database supportati
Oracleoracle- Con ODP.NET (managed), service name, TCP o TCPS. SQL, funzioni, funzioni pipelined e procedure con SYS_REFCURSOR. Vedi Oracle.
PostgreSQLpostgresql- Con Npgsql, nome del database, TLS con sslmode. SQL e funzioni che restituiscono righe. Vedi PostgreSQL.
SQL Server e MySQL compaiono come in arrivo: non si possono ancora creare. Le guide dei database spiegano utenti, grant e note sul dialetto: Oracle, PostgreSQL.
Creare una sorgente dati
- In Sorgenti dati scegli Nuova sorgente dati: nome, codice, tipo di database, una descrizione facoltativa e, se vuoi, Sorgente dati predefinita.
- Nella pagina della sorgente dati scegli Configura su un ambiente e indica come Prynt raggiunge il database: Prynt Gateway o Connessione diretta.
- Inserisci host, porta, service name o database, utente e password, e la modalità TLS.
- Salva la connessione: Prynt la salva e la prova, e mostra l'esito con eventuali avvisi.
- Ripeti per gli altri ambienti che usi.
Una connessione per ambiente
Ogni workspace ha degli ambienti (Development, Staging e Production come predefiniti), e una sorgente dati ha al massimo una connessione per ciascuno. Quale connessione si usa:
- Nel Designer (editor SQL, esploratore del database, prove dei dataset, anteprime, prove di generazione): l'ambiente scelto in alto nell'applicazione, Development come predefinito.
- Tramite l'API: l'
environmentdella richiesta di generazione, altrimenti l'ambiente predefinito della chiave API.
Non c'è alcun ripiego: se l'ambiente scelto non ha una connessione, la richiesta fallisce con DATA_SOURCE_NOT_CONFIGURED. L'elenco delle sorgenti dati mostra lo stato di ogni connessione: Connesso, Connesso con avvisi, Non riuscito, Non provato, Non configurato o Gateway offline.
Gateway o diretta
Ogni connessione raggiunge il suo database in uno di due modi, scelto per ambiente:
- Prynt Gateway (consigliato per le reti private, la scelta iniziale delle nuove connessioni): un piccolo agente accanto al database si collega a Prynt in uscita via HTTPS. Il database resta privato e le credenziali sono cifrate per il gateway nel tuo browser. Vedi Gateway.
- Connessione diretta (database in cloud): Prynt si collega via Internet, con TLS obbligatorio e indirizzi privati rifiutati. Vedi Connessioni dirette.
Impostazioni della connessione
Hosttestoobbligatorio- Diretta: il nome DNS pubblico. Gateway: l'host come lo vede il gateway (erp-db.local, 10.0.0.12).
Portaintero- Predefinita 1521 (Oracle) o 5432 (PostgreSQL).
Service nametestoobbligatorio- Solo Oracle: il servizio del database, per esempio ORCLPDB1. I SID non sono supportati.
Databasetestoobbligatorio- Solo PostgreSQL: il nome del database.
Utentetestoobbligatorio- Un utente in sola lettura: Prynt avvisa se può scrivere.
Passwordsegreto- Solo in scrittura: dopo il salvataggio, Password salvata con Sostituisci. Con un gateway, cifrata per il gateway nel browser.
Schema correntetesto- Dove si risolvono i nomi senza schema (Oracle: CURRENT_SCHEMA; PostgreSQL: search_path).
Schemi nell'esploratoreelenco- Gli schemi che l'esploratore del database elenca (fino a 50). Vuoto = tutti quelli che l'utente vede, tranne gli schemi di sistema.
TLSmodalità- Disattivato, Obbligatorio, Verifica la CA, Verifica certificato e host (consigliato). Le connessioni dirette devono usare TLS.
Avanzatenumeri- Timeout di connessione (1–120 s, predefinito 15), timeout delle query dell'esploratore e dell'apertura della sessione (1–600 s, predefinito 30), connessioni massime nel pool (1–100, predefinito 20).
Le credenziali non si vedono più
Provare la connessione
Salva la connessione salva e prova insieme; Prova la connessione riprova (permesso sql.execute). L'esito mostra latenza, versione del server e utente effettivo, per esempio Connesso · 31 ms · Oracle 19c · utente PRYNT_READER, oppure l'errore. Gli avvisi dicono cosa correggere:
TLS_DISABLEDavviso- Il traffico non è cifrato tra il punto di connessione e il database. Accettabile solo in una rete privata accanto a un gateway.
TLS_NOT_VERIFIEDavviso- Cifrato, ma il certificato del server (o il nome dell'host) non viene verificato.
WRITE_PRIVILEGESavviso- L'utente può inserire, modificare o possedere tabelle. Prynt legge soltanto, ma usa un utente dedicato in sola lettura: la prova offre lo script SQL.
ADMIN_PRIVILEGESavviso- Privilegi ANY, ruoli DBA o superuser: molto più di quanto serve a Prynt.
NOT_READ_ONLY_BY_DEFAULTavviso- PostgreSQL: default_transaction_read_only dell'utente è disattivato (Prynt usa comunque transazioni in sola lettura).
CURRENT_SCHEMA_INVALIDavviso- Lo schema corrente non esiste: i nomi senza schema non si risolvono.
PRIVILEGES_UNKNOWNavviso- L'utente non può leggere il catalogo dei privilegi, quindi la sola lettura non è stata confermata.
Esploratore del database
Nell'editor dei dataset del Designer, l'esploratore del database legge il catalogo della sorgente dati del dataset, attraverso la connessione dell'ambiente corrente:
- tabelle, viste, funzioni e procedure (e package Oracle) degli schemi nell'esploratore, con ricerca e filtro per tipo;
- le colonne di un oggetto con tipo, nullabilità e chiave primaria, e gli argomenti di una routine;
- la ricerca delle tabelle che hanno una colonna con un certo nome;
- l'inserimento nell'editor SQL di una
SELECTsu un oggetto, o del suo nome.
Il catalogo resta in cache per 5 minuti; Aggiorna lo rilegge dal database.
Le sorgenti dati nei dataset
Ogni dataset sceglie la sua sorgente dati nella barra del dataset (vuoto = la predefinita). Un template può leggere più sorgenti dati; ognuna viene letta nella propria istantanea coerente, quindi i dati sono coerenti solo tra dataset della stessa sorgente dati (il Designer lo segnala). Il dialetto SQL segue la sorgente dati: una query Oracle non gira su PostgreSQL.
Errori che puoi incontrare
DATA_SOURCE_NOT_CONFIGURED422- Nessuna connessione per l'ambiente richiesto, oppure nessuna sorgente dati predefinita.
DATA_SOURCE_UNKNOWNerrore- Il dataset indica un codice di sorgente dati che non esiste nel workspace.
GATEWAY_OFFLINE503- Il gateway della connessione non è connesso.
DATA_SOURCE_UNAVAILABLE503- Il database ora non è raggiungibile (rete, listener, accesso rifiutato).
Permessi
datasources.read(designer e ruoli superiori): vedere le sorgenti dati e sceglierle nei dataset.datasources.manage(developer, admin, owner): creare, modificare ed eliminare sorgenti dati e connessioni, aggiungere e revocare gateway.sql.execute(developer, admin, owner): provare le connessioni, esplorare il database, eseguire query.