pub enum Error {
FailedSettingConnectionPooling,
FailedAllocatingEnvironment,
NoDiagnostics {
function: &'static str,
},
Diagnostics {
record: DiagnosticRecord,
function: &'static str,
},
AbortedConnectionStringCompletion,
UnsupportedOdbcApiVersion(DiagnosticRecord),
FailedReadingInput(Error),
InvalidRowArraySize {
record: DiagnosticRecord,
size: usize,
},
OracleOdbcDriverDoesNotSupport64Bit(DiagnosticRecord),
}
Expand description
Error type used to indicate a low level ODBC call returned with SQL_ERROR.
Variants
FailedSettingConnectionPooling
Setting connection pooling option failed. Exclusively emitted by
crate::Environment::set_connection_pooling
.
FailedAllocatingEnvironment
Allocating the environment itself fails. Further diagnostics are not available, as they
would be retrieved using the envirorment handle. Exclusively emitted by
crate::Environment::new
.
NoDiagnostics
Fields
function: &'static str
ODBC API call which returned error without producing a diagnostic record.
This should never happen, given that ODBC driver manager and ODBC driver do not have any Bugs. Since we may link vs a bunch of these, better to be on the safe side.
Diagnostics
Fields
record: DiagnosticRecord
Diagnostic record returned by the ODBC driver manager
function: &'static str
ODBC API call which produced the diagnostic record
SQL Error had been returned by a low level ODBC function call. A Diagnostic record is obtained and associated with this error.
AbortedConnectionStringCompletion
A user dialog to complete the connection string has been aborted.
UnsupportedOdbcApiVersion(DiagnosticRecord)
An error returned if we fail to set the ODBC version
FailedReadingInput(Error)
An error emitted by an std::io::ReadBuf
implementation used as an input argument.
InvalidRowArraySize
Driver returned “invalid attribute” then setting the row array size. Most likely the array size is to large. Instead of returing “option value changed (SQLSTATE 01S02)” like suggested in https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlsetstmtattr-function the driver returned an error instead.
OracleOdbcDriverDoesNotSupport64Bit(DiagnosticRecord)
There are plenty of issues in the net about Oracle ODBC driver not supporting 64Bit. This
message, should make it easier identify what is going on, since the message emmitted by,
Oracles ODBC driver is a bit cryptic: [Oracle][ODBC]Invalid SQL data type <-25>
.
Trait Implementations
sourceimpl Error for Error
impl Error for Error
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more