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
Sysdba
Connects as SYSDBA
Examples
let conn = Connection::connect("system", "manager", "", &[ConnParam::Sysdba])?;
Sysoper
Sysasm
Sysbackup
Sysdg
Syskm
Sysrac
ExternalAuth
Uses external authentication such as OS authentication.
Examples
let conn = Connection::connect("", "", "", &[ConnParam::ExternalAuth])?;
PrelimAuth
Sets 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()), };
PurityNew
PuritySelf
ConnectionClass(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.
MatchAnyTag
Reserved for when connection pooling is supported.
Events
Reserved 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.