Enum oracle::ConnParam [] [src]

pub enum ConnParam {
    Sysdba,
    Sysoper,
    Sysasm,
    Sysbackup,
    Sysdg,
    Syskm,
    Sysrac,
    ExternalAuth,
    PrelimAuth,
    NewPassword(String),
    PurityNew,
    PuritySelf,
    ConnectionClass(String),
    AppContext(StringStringString),
    Tag(String),
    MatchAnyTag,
    Events,
    Edition(String),
    DriverName(String),
}

Parameters to create Connection passed to Connection::connect.

Variants

Connects as SYSDBA

Examples

let conn = Connection::connect("system", "manager", "", &[ConnParam::Sysdba])?;

Connects as SYSOPER

See Examples in the Sysdba variant.

Connects as SYSASM (Oracle 12c or later)

See Examples in the Sysdba variant.

Connects as SYSBACKUP (Oracle 12c or later)

See Examples in the Sysdba variant.

Connects as SYSDG (Oracle 12c or later)

See Examples in the Sysdba variant.

Connects as SYSKM (Oracle 12c or later)

See Examples in the Sysdba variant.

Connects as SYSRAC (Oracle 12c R2 or later)

See Examples in the Sysdba variant.

Uses external authentication such as OS authentication.

Examples

let conn = Connection::connect("", "", "", &[ConnParam::ExternalAuth])?;

Sets prelim auth mode to connect to an idle instance.

See starting up a database.

Sets new password during establishing a connection.

When a password is expired, you cannot connect to the user. A new password must be set by other user or set during establishing a connection.

Examples

Connect to user scott with password tiger. If the password is expired, set a new password jaguar.

let conn = match Connection::connect("scott", "tiger", "", &[]) {
    Ok(conn) => conn,
    Err(Error::OciError(ref dberr)) if dberr.code() == 28001 => {
        // ORA-28001: the password has expired
        let params = [ConnParam::NewPassword("jaguar".into())];
        Connection::connect("scott", "tiger", "", &params)?
    },
    Err(err) => panic!(err.to_string()),
};

Uses a new session in DRCP pooled sessions.

See here for more detail.

Reuses a pooled session in DRCP pooled sessions.

See here for more detail.

Sets a connection class to restrict sharing DRCP pooled sessions.

See here for more detail.

Sets an application context.

See Oracle manual

This is same with DBMS_SESSION.SET_CONTEXT but this can set application contexts before a connection is established.

Examples

let params = [
    ConnParam::AppContext("CLIENTCONTEXT".into(), "foo".into(), "bar".into()),
    ConnParam::AppContext("CLIENTCONTEXT".into(), "baz".into(), "qux".into()),
];
let conn = Connection::connect("scott", "tiger", "", &params)?;
let val = conn.query_row_as::<String>("select sys_context('CLIENTCONTEXT', 'baz') from dual", &[])?;
assert_eq!(val, "qux");

Reserved for when connection pooling is supported.

Reserved for when connection pooling is supported.

Reserved for when advanced queuing (AQ) or continuous query notification (CQN) is supported.

Specifies edition of Edition-Based Redefinition.

Sets the driver name displayed in V$SESSION_CONNECT_INFO.CLIENT_DRIVER.

The default value is "rust-oracle : version number". Only the first 8 chracters "rust-ora" are displayed when the Oracle server version is lower than 12.0.1.2.

Trait Implementations

Auto Trait Implementations

impl Send for ConnParam

impl Sync for ConnParam