ObjectStackObjectStack

Driver Oracle schema — Data Protocol reference

Oracle Database driver configuration — the config slot of a datasource whose driver resolves to oracle (oracledb).

Oracle Database driver configuration — the config slot of a datasource whose driver resolves to oracle (oracledb).

Oracle is a FEDERATION-ONLY driver (ADR-0015 §4.6): the datasource must declare schemaMode: 'external' (or 'validate-only'), and a managed one is refused at authoring. The platform reads the tables an Oracle system already owns; it never creates or alters one there.

Every key here is read by createDefaultDatasourceDriverFactory (→ SqlDriver, knex oracledb, node-oracledb in Thin mode — pure JavaScript, no Oracle Client libraries on the host). The connection is opened from an Oracle connect string: either connectString verbatim, or the Easy Connect string host:port/serviceName the factory composes from the discrete keys. Oracle has no scheme:// URL of its own, so there is no url key to accept here.

Deliberately absent, each because the factory would drop it:

  • autoMigrate — a managed-schema self-heal, and Oracle is never managed.
  • ssl (and ca / cert / key / rejectUnauthorized) — Thin mode negotiates TLS from the connect string itself (tcps://host:2484/service), and reads a private CA from the PEM wallet the connect string names (?wallet_location=DIR), not from a key beside it; the datasource ssl block is refused on an oracle datasource for the same reason.
  • sid — a SID names an instance, not a service; Thin mode reaches a SID-only listener through a full descriptor in connectString.

Source: packages/spec/src/data/driver/oracle.zod.ts

TypeScript Usage

import { OracleConfigSchema } from '@objectstack/spec/data';
import type { OracleConfig } from '@objectstack/spec/data';

// Validate data
const result = OracleConfigSchema.parse(data);

OracleConfig

Oracle Database connection configuration (federation only)

Properties

PropertyTypeRequiredDescription
connectStringstringoptionalOracle connect string — Easy Connect or a full descriptor (supersedes host/port/serviceName)
hoststringoptionalListener host address
portintegeroptional (default: 1521)Listener port
serviceNamestringoptionalDatabase service name
usernamestringoptionalAuthentication user (also the default schema)
passwordneveroptionalSet through the connection form's secret field or external.credentialsRef — encrypted into sys_secret, never stored in config. A datasource defined in code (defineDatasource) leaves the credential out of the declaration: it is read at connect time from the runtime environment variable derived from the datasource name (OS_DATASOURCE_WAREHOUSE_PASSWORD for a datasource named warehouse), which os serve / os start honour by default (OS_DATASOURCE_ENV_CREDENTIALS=on).

On this page