SQL Datasource
A SQL datasource is a connection definition for a database outside the platform. Once defined, scripts, reports and saved queries reach it by name.

Fields
Section titled “Fields”| Field | Description |
|---|---|
| Name | The datasource’s name; scripts and queries call it by this (max 100 characters) |
| Description | Description (max 255 characters) |
| URL | The JDBC connection address (max 2,048 characters) |
| Username | The user name (max 50 characters) |
| Password | The password (max 50 characters) |
| Is Default | Whether this is the project’s default datasource |
The password is not shown back
Section titled “The password is not shown back”The list shows whether a password is set, not the password itself. It is stored encrypted and never handed back to be read. When you edit the record the password field comes up empty: leaving it empty keeps the existing password, and it changes only when you type a new one.
The default datasource
Section titled “The default datasource”The datasource marked Is Default is where a query that does not name one goes:
ins.runSql('SELECT ...'); // the default datasourceins.runSql('ProductionDB', 'SELECT ...'); // by nameMark only one datasource in a project as the default. Marking a second does not unmark the first, and a call that names no datasource then cannot tell which one it means. The clone button is the easiest way into that state, because it copies every field including Is Default — after cloning, clear the flag on the copy.
Allowed hosts
Section titled “Allowed hosts”Datasource addresses are subject to an allow-list, given as ins.datasource.allowed-hosts. It takes comma-separated hostnames (db.example.com), wildcard subdomains (*.example.com) and CIDR blocks (10.0.0.0/8).
| Case | Result |
|---|---|
| List empty (the default) | No address is permitted |
| Address matches the list | Permitted |
| Address does not match | Rejected |
Loopback, 0.0.0.0 or a link-local address | Rejected whatever the list says |
This is deliberate: until the setting is made no datasource works at all, because the alternative would leave a script free to send queries to every address the server can reach.
When the host is taken out of a JDBC address, the user info, the path and SQL Server’s semicolon parameters are stripped. A PostgreSQL address that lists several hosts for high availability needs all of them on the list. Oracle TNS format (an address with no //) is not supported and cannot be saved.
The address is checked in two places: when you save (a rejected address comes back as a form error) and when a query runs.
Timeouts
Section titled “Timeouts”| Limit | Default | When it applies |
|---|---|---|
| Connect | 10 seconds | A datasource that is down fails fast |
| Query | 60 seconds | The time one query may take |
The connection pool is reused
Section titled “The connection pool is reused”One connection pool is opened per datasource and reused by later queries. Editing or deleting the record closes that pool and drops it, so a new address or password takes effect on the next query by itself. No restart is needed.
Related
Section titled “Related”- SQL Query — saved queries
- SQL Database — browsing the schema and running a query
- InfluxDB Datasource — the time-series equivalent
- Script Engine — using
ins.runSql