DB Connector
- Task Type:
db
Il task DB Connector consente di eseguire istruzioni SQL su un database supportato, sia per l’estrazione di dati — con possibilità di mappare i risultati su alias specifici — sia per l’esecuzione di codice procedurale. La configurazione richiede la definizione della connessione al database e della query SQL da eseguire, finalizzata al recupero di informazioni o all’esecuzione di operazioni.
Connessione al Database
| Parametro | Descrizione |
|---|---|
| Tipologia Database | Il tipo di database (DBMS) a cui connettersi |
| Connessione SSL | Abilitata/Disabilitata |
| Host | host o #>parametro_string<# |
| Porta | port o #>parametro_num<# |
| Nome DB | nome_database o #>parametro_string<# |
| User | nome_utente o #>parametro_string<# |
| Password | Password di accesso |
Configurazione dello Statement
Tipologia Statement
- Select: esegue query SQL per l’estrazione di dati dal database.
- Altro (Other): consente l’esecuzione di istruzioni DML (
INSERT,UPDATE,DELETE), chiamate a procedure/stored procedure o blocchi anonimi SQL.
Esempio di Preview della Query SQL (Statement Preview)
SELECT
config->>'kid' AS kid,
config->>'iss' AS iss,
config->>'scope' AS scope,
config->>'grant_type' AS grant_type,
config->>'project_id' AS project_id,
replace(config->>'key', chr(10), '\n') AS key,
config->>'aud' AS aud
FROM connections
WHERE id=1;
Esempio di Mappatura dei Campi Estratti
| Tipo | Precisione | Alias | Espressione |
|---|---|---|---|
| ESPRESSIONE | 1000 | kid | config->>'kid' |
| ESPRESSIONE | 1000 | iss | config->>'iss' |
| ESPRESSIONE | 1000 | scope | config->>'scope' |
| ESPRESSIONE | 1000 | grant_type | config->>'grant_type' |
| ESPRESSIONE | 1000 | project_id | config->>'project_id' |
| ESPRESSIONE | 2000 | key | replace(config->>'key', chr(10), '\n') |
| ESPRESSIONE | 1000 | aud | config->>'aud' |
Esempio di Clausola From
FROM connections
WHERE id=1;
Uso parametro dinamico con "dbobj:"
FROM `#>dbobj:nome_tabella<#`
Gestione Table Structure - Campi select list
In basso a destra della tabella di mappatura nella “Tipologia Statement Select - Campi select list” sono presenti tre pulsanti:
| Pulsante | Azione |
|---|---|
| Salva | Salva la struttura definita |
| Importa | Importa una struttura esistente |
| Esporta | Esporta la struttura definita |
Questa funzionalità permette di salvare, esportare o riutilizzare le mappature, evitando la compilazione manuale dei campi e riducendo il rischio di errori.
Nota Tecnica
- Visibilità: Le strutture salvate nel sistema sono visibili esclusivamente all'utente che le ha create.
- Approfondimento: Per una descrizione dettagliata di tutte le opzioni e della logica di funzionamento, fare riferimento alla pagina Table Structure.
Parametri di Output
Al termine dell'esecuzione di una query, il Task "DB Connector" espone un set di parametri di output. Questi parametri forniscono non solo un resoconto dell'operazione, ma anche i dati recuperati in molteplici formati, pronti per essere utilizzati dai Task successivi.
Parametri Relativi allo Spool della Query
- queryspool.file: Restituisce il percorso completo del file di spool generato (un file CSV).
- queryspool.filename: Restituisce solo il nome del file di spool.
- queryspool.content: Contiene l'intero contenuto testuale del file di spool.
Parametri di Riepilogo Esecuzione
- count: Indica il numero totale di righe (record) restituite dalla query.
- result: Fornisce lo stato complessivo dell'esecuzione del Task (es. "Statement Eseguito con successo" o un messaggio di errore del database).
- resultJson: rappresenta il risultato dell’esecuzione del task in formato JSON, includendo informazioni generali, configurazioni e dettagli sull’esecuzione.
Parametri di Esportazione Dati
Questi parametri contengono l'intero set di dati recuperato, già formattato in diversi standard.
- DataExportCsv: Restituisce il set di dati completo, formattato come testo in formato CSV, inclusa la riga di intestazione con i nomi delle colonne.
- DataExportNoHeaderCsv: Restituisce il set di dati in formato CSV, ma escludendo la riga di intestazione. È utile quando si ha bisogno solo dei dati grezzi.
- DataExportJson: Restituisce il set di dati completo, formattato come una stringa JSON (un array di oggetti, dove ogni oggetto rappresenta una riga).
Parametri Oggetto per Elaborazione Avanzata
Questi parametri rappresentano i dati come oggetti strutturati, ideali per l'interazione con altri Task.
- Dataset: Questo parametro rappresenta il nome della colonna della tabella (Per es: name). È il parametro più importante per collegare questo Task ad un Iterator. Per accedere ai valori di una specifica colonna durante un'iterazione, si utilizza la sintassi Dataset.NomeColonna.
- DataColumn: Questo parametro permette di accedere all'intero contenuto di una colonna come un'unica entità).
- DataColumn.NomeColonna: Restituisce tutti i valori della colonna “NomeColonna”. Per es: “Luca, Maria, Giovanni, Elena”
Note importanti
- Per usare i parametri dinamici nella sezione della Clausola FROM e Statement, va usata la seguente sintassi: "
#>dbobj:parametro_dinamico<#" (ad esclusione del Tipo di Database SAP HANA, in quel caso va usata la solita sintassi "#>nome_tabella<#")
Esempio del parametro resultJson
{
"id": 19163,
"name": "DB Connector",
"description": "",
"type": "db",
"type_name": "DB Connector",
"type_description": "Connessione DB",
"config": {
"connection": {
"db_host": "test",
"db_name": "TEST;TrustServerCertificate=Yes",
"db_port": "1433",
"db_type": "sqlserver",
"db_user": "sybot",
"use_ssl": "Y",
"db_password": "8rPqd4eHtMoHG77qAj16Vw==",
"connection_mode": "env",
"hidden_task_pwd": "0",
"env_connection_name": "SqlServer_SYBOT_TEST",
"oracle_db_name_type": ""
},
"output_links": [
{
"to": "[TASK 1920_19165_60]",
"from": "[TASK 1920_19163_3]",
"text": "Condizione 11 (2)",
"color": "green",
"points": [
-423.5,
-751,
-413.5,
-751,
-46.981225491332,
-751,
-46.981225491332,
-641.3032264382475,
-46.981225491332,
-531.6064528764952,
-46.981225491332,
-521.6064528764952
],
"toPort": "top5",
"fromPort": "port_1920_19163_1",
"isTraversed": true
}
],
"tablestructure": [
{
"field_name": "name",
"field_type": "expression",
"field_value": "name",
"field_format": "",
"field_nullable": "Y",
"field_precision": "1000"
},
{
"field_name": "start_datetime",
"field_type": "expression",
"field_value": "start_datetime",
"field_format": "",
"field_nullable": "Y",
"field_precision": "1000"
}
]
},
"run_info": {
"run_id": 1473891,
"start_datetime": "2026-03-26 18:14:17",
"end_datetime": "2026-03-26 18:14:17",
"start_epoch": 1774548857.116924,
"end_epoch": 1774548857.328622,
"duration": 0,
"status": "Completed",
"cmd_text": "SELECT \r\nname as \"name\", \r\nstart_datetime as \"start_datetime\" \r\nFROM #>dbobj:table_name<#",
"run_result": "Success",
"result_text": "Statement Eseguito con successo Righe: 3",
"full_result_text": null
},
"output_parameters": {
"count": "3",
"Dataset.name": "name",
"DataExportCsv": "name;start_datetime\n\"Set Variable\";\"2026-03-26 12:27:11.0000000\"\n\"Run Script Python\";\"2026-03-26 12:27:12.0000000\"\nUnarchiver;\"2026-03-26 12:27:45.0000000\"\n",
"DataExportJson": "[{\"name\":\"Set Variable\",\"start_datetime\":\"2026-03-26 12:27:11.0000000\"},{\"name\":\"Run Script Python\",\"start_datetime\":\"2026-03-26 12:27:12.0000000\"},{\"name\":\"Unarchiver\",\"start_datetime\":\"2026-03-26 12:27:45.0000000\"}]",
"DataColumn.name": "Set Variable,Run Script Python,Unarchiver",
"queryspool.file": "\/home\/user_test\/test\/test_output\/spool_file\/19163\/60689\/TASK_DB Connector_queryspool_1774545252.csv",
"queryspool.content": "name;start_datetime\n\"Set Variable\";\"2026-03-26 12:27:11.0000000\"\n\"Run Script Python\";\"2026-03-26 12:27:12.0000000\"\nUnarchiver;\"2026-03-26 12:27:45.0000000\"\n",
"queryspool.filename": "TASK_DB Connector_queryspool_1774545252.csv",
"DataExportNoHeaderCsv": "\"Set Variable\";\"2026-03-26 12:27:11.0000000\"\n\"Run Script Python\";\"2026-03-26 12:27:12.0000000\"\nUnarchiver;\"2026-03-26 12:27:45.0000000\"\n",
"Dataset.start_datetime": "start_datetime",
"DataColumn.start_datetime": "2026-03-26 12:27:11.0000000,2026-03-26 12:27:12.0000000,2026-03-26 12:27:45.0000000"
}
}