Iskra API Reference
    Preparing search index...

    Interface OracleConfig

    app.config.oracle. Without it, the driver reads ORA_CONN, ORA_USER and ORA_PASSWORD.

    interface OracleConfig {
        bindDialect?: BindDialect;
        bindStyle?: OracleBindStyle;
        callTimeout?: number;
        camelCase?: boolean;
        compatibility?: OracleCompatibility;
        connectString?: string;
        deadlineGrace?: number;
        dropUnusedBinds?: boolean;
        fetchAsString?: OracleFetchAsString[];
        host?: string;
        password?: string;
        pingTimeout?: number;
        pool?: OraclePoolConfig;
        poolAttributes?: Record<string, unknown>;
        port?: number;
        serviceName?: string;
        user?: string;
    }
    Index
    bindDialect?: BindDialect

    How 'positional' reads :name: 'oracle' (default) or 'sqlx', for SQL copied from Go.

    bindStyle?: OracleBindStyle

    'positional' compiles binds by name to binds by position before a statement runs (see compileNamed), so params the SQL does not use, reserved words (:date) and names in another case cannot fail it, and an array param expands to an IN list. Default 'named'. Also a per-call option.

    callTimeout?: number

    Milliseconds a statement may run (each round trip to the database) before it is cancelled with a QueryError NJS-123, and its connection dropped from the pool; if the database does not take the cancel, the driver gives up at the deadline (see deadlineGrace). Default 30000; 0 for no limit. A statement waiting on a lock otherwise holds its connection forever.

    camelCase?: boolean

    Kysely only: write tables and columns in camelCase (firstName) for Oracle's UPPER_SNAKE_CASE (FIRST_NAME), and read rows back in camelCase.

    compatibility?: OracleCompatibility

    The oldest database the Kysely SQL must run on. '19c' (the default) refuses at compile time what only 23ai understands: booleans in SQL and multi-row VALUES. '23ai' allows them.

    connectString?: string

    Easy Connect (host:1521/FREEPDB1, tcps://…), a TNS alias or a full descriptor. Or host and serviceName.

    deadlineGrace?: number

    Milliseconds the driver waits past a call's timeout (callTimeout, or a statement's timeout) for node-oracledb to cancel it with NJS-123. Then it gives up itself: the call fails with a DeadlineError, and the connection's socket is closed so it leaves the pool (in Thin mode the cancel travels on the connection, and a session waiting on a lock does not read it). Also how long an abort may take before the same happens (default 1000 then). Default: the timeout itself, at most 5000 (a 30 s timeout gives up at 35 s, a 1 s one at 2 s). A call without a timeout has no deadline. A statement given up outside a transaction may still run on the database once its lock frees.

    dropUnusedBinds?: boolean

    Leave out the binds by name that the SQL does not use, instead of failing (NJS-097/NJS-098). Default false. Also a per-call option.

    fetchAsString?: OracleFetchAsString[]

    Column types fetched as strings: 'number' for NUMBERs past 2^53, which lose digits as a JS number; 'date' for DATE and TIMESTAMP as Oracle formats them. CLOBs are always strings and BLOBs Buffers: a Lob can only be read while its connection is open, and the pool takes it back first.

    host?: string

    The database host, with serviceName (and port), instead of connectString.

    password?: string
    pingTimeout?: number

    Milliseconds ping() waits, for a free connection and SELECT 1, before answering false. Default 5000.

    poolAttributes?: Record<string, unknown>

    Other node-oracledb pool attributes (walletLocation, configDir…), passed as they are.

    port?: number

    Default 1521.

    serviceName?: string

    The service name, with host.

    user?: string