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

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.

Diagnostics

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

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

Tuple Fields of UnsupportedOdbcApiVersion

0: DiagnosticRecord
FailedReadingInput(Error)

An error emitted by an std::io::ReadBuf implementation used as an input argument.

Tuple Fields of FailedReadingInput

0: Error
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.

Fields of InvalidRowArraySize

record: DiagnosticRecordsize: usize

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

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. 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

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

Performs the conversion.

Performs the conversion.

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.