Enum odbc_api::Error [−][src]
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,
},
}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 strODBC 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: DiagnosticRecordDiagnostic record returned by the ODBC driver manager
function: &'static strODBC 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)
Tuple Fields
An error returned if we fail to set the ODBC version
FailedReadingInput(Error)
Tuple Fields
0: ErrorAn 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.