Skip to Content

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

FieldWhat it does
IdentificationDecides 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 / PortOracle listener. Default 1521. Not shown under the Descriptor (TNS) identification
Service Name / SIDService name or SID, according to the Identification you pick. Not shown under the Descriptor (TNS) identification
TNS DescriptorOnly under the Descriptor (TNS) identification: the alias descriptor, copied from tnsnames.ora — see TNS descriptor
User / PasswordDatabase user
TLSSwitches 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 PasswordOnly 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.