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
Setting connection pooling option failed. Exclusively emitted by
crate::Environment::set_connection_pooling
.
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
.
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.
Fields of NoDiagnostics
function: &'static str
ODBC API call which returned error without producing a diagnostic record.
SQL Error had been returned by a low level ODBC function call. A Diagnostic record is obtained and associated with this error.
Fields of Diagnostics
record: DiagnosticRecord
Diagnostic record returned by the ODBC driver manager
function: &'static str
ODBC API call which produced the diagnostic record
A user dialog to complete the connection string has been aborted.
UnsupportedOdbcApiVersion(DiagnosticRecord)
An error returned if we fail to set the ODBC version
Tuple Fields of UnsupportedOdbcApiVersion
FailedReadingInput(Error)
An error emitted by an std::io::ReadBuf
implementation used as an input argument.
Tuple Fields of FailedReadingInput
0: Error
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.
Fields of InvalidRowArraySize
record: DiagnosticRecord
size: usize