Enum oracle::ConnParam
[−]
[src]
pub enum ConnParam {
Sysdba,
Sysoper,
Sysasm,
Sysbackup,
Sysdg,
Syskm,
Sysrac,
ExternalAuth,
PrelimAuth,
NewPassword(String),
PurityNew,
PuritySelf,
ConnectionClass(String),
AppContext(String, String, String),
Tag(String),
MatchAnyTag,
Events,
Edition(String),
DriverName(String),
}Parameters to create Connection passed to Connection::connect.
Variants
SysdbaConnects as SYSDBA
Examples
let conn = Connection::connect("system", "manager", "", &[ConnParam::Sysdba])?;
SysoperSysasmSysbackupSysdgSyskmSysracExternalAuthUses external authentication such as OS authentication.
Examples
let conn = Connection::connect("", "", "", &[ConnParam::ExternalAuth])?;
PrelimAuthSets prelim auth mode to connect to an idle instance.
NewPassword(String)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", "", ¶ms)? }, Err(err) => panic!(err.to_string()), };
PurityNewPuritySelfConnectionClass(String)AppContext(String, String, String)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", "", ¶ms)?; let val = conn.query_row_as::<String>("select sys_context('CLIENTCONTEXT', 'baz') from dual", &[])?; assert_eq!(val, "qux");
Tag(String)Reserved for when connection pooling is supported.
MatchAnyTagReserved for when connection pooling is supported.
EventsReserved for when advanced queuing (AQ) or continuous query notification (CQN) is supported.
Edition(String)Specifies edition of Edition-Based Redefinition.
DriverName(String)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.