Enum odbc_api::Error

source ·
pub enum Error {
Show 13 variants FailedSettingConnectionPooling, FailedAllocatingEnvironment, NoDiagnostics { function: &'static str, }, Diagnostics { record: DiagnosticRecord, function: &'static str, }, AbortedConnectionStringCompletion, UnsupportedOdbcApiVersion(DiagnosticRecord), FailedReadingInput(Error), InvalidRowArraySize { record: DiagnosticRecord, size: usize, }, UnableToRepresentNull(DiagnosticRecord), OracleOdbcDriverDoesNotSupport64Bit(DiagnosticRecord), TooLargeColumnBufferSize { buffer_index: u16, num_elements: usize, element_size: usize, }, TooManyDiagnostics, TooLargeValueForBuffer,
}
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

Fields

§size: usize

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.

§

UnableToRepresentNull(DiagnosticRecord)

§

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>.

§

TooLargeColumnBufferSize

Fields

§buffer_index: u16

Zero based column buffer index. Note that this is different from the 1 based column index.

§num_elements: usize
§element_size: usize
§

TooManyDiagnostics

§

TooLargeValueForBuffer

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.