Oracle
Collection ORACLE and Delivery ORACLE_EXEC. CMS builds the connect string from the connection
fields: the server where CMS runs needs no tnsnames.ora installed, and if you already have that
file you paste the descriptor straight into the connection — see TNS descriptor.
The command fields take DML only; running PL/SQL produced by the Transformer uses one fixed
template — see procedures and dynamic SQL.
Connection
| Field | What it does |
|---|---|
| Identification | Decides how the address is given, and with it which fields appear. SERVICE_NAME builds an Easy Connect string (host:port/service); SID builds the classic descriptor (DESCRIPTION=(ADDRESS=...)(CONNECT_DATA=(SID=...))); Descriptor (TNS) uses the text you paste |
| Host / Port | Oracle listener. Default 1521. Not shown under the Descriptor (TNS) identification |
| Service Name / SID | Service name or SID, according to the Identification you pick. Not shown under the Descriptor (TNS) identification |
| TNS Descriptor | Only under the Descriptor (TNS) identification: the alias descriptor, copied from tnsnames.ora — see TNS descriptor |
| User / Password | Database user |
| TLS | Switches the protocol to TCPS (tcps://host:port/service). Under the Descriptor (TNS) identification it does not change the address — what sets the protocol there is the PROTOCOL= inside the descriptor — and it only unlocks the Wallet fields |
| Wallet Path / Wallet Password | Only with TLS on and when the server requires mTLS (e.g. Oracle Autonomous Database). Point it at the wallet directory (PEM or cwallet.sso). TLS against a public CA needs no wallet |
| Test Query (Keep Alive) | Same role as the SQL Server field. Blank = SELECT 1 FROM DUAL |
CMS builds the connect string from these fields — the server where CMS runs needs no
tnsnames.ora installed, and no TNS_ADMIN variable set.
TNS descriptor
Easy Connect covers the common case, but it cannot express what many production environments have
written in their tnsnames.ora: several ADDRESS entries (RAC), LOAD_BALANCE/FAILOVER,
RETRY_COUNT and the Autonomous Database SECURITY block. For those, pick the Descriptor (TNS)
identification and paste the alias descriptor into the field:
(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.company.com)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=rac2.company.com)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=PROD))
)You can paste the whole entry from the file, alias name and all (PROD_HIGH = (DESCRIPTION=...):
CMS drops the name on its own. Line breaks and indentation are fine too.
What does not work is giving only the alias name (PROD_HIGH). CMS reads no tnsnames.ora
at all, so there is nowhere to look up what that name means — copy the descriptor it points to.
Text that does not start with ( is refused on save, with that explanation.
The Address column of the connection list shows the first host:port found inside the
descriptor; when there is more than one ADDRESS, a (+N) flags the rest.
Autonomous Database
The wallet downloaded from Oracle ships a tnsnames.ora with the _high, _medium and _low
aliases. Paste the descriptor of the one you will use, turn TLS on and point Wallet Path at
the unzipped wallet folder on the CMS server.
Vocabulary blocked in this dialect
On top of the DDL/DCL barred in every dialect, this one blocks:
UTL_HTTP, UTL_TCP, UTL_SMTP, UTL_FILE, DBMS_SCHEDULER, DBMS_JOB, DBMS_SQL, EXECUTE IMMEDIATE
The full check — leading verb, chained statements and the neutralisation of comments and literals — is described in what CMS blocks in SQL fields.
The behaviour shared by all four databases — result modes, marking what has been read and placeholders — is described in Databases.