Note: This crate is no longer maintained. Try using odbc-api.
This Rust crate builds upon the FFI (Foreign Function Interface) bindings for ODBC (Open Database Connectivity) provided by odbc-sys. It enables you to write ODBC Applications entirely in safe Rust. While this crate tries to prevent all kinds of erros it does very little to hide the complexity of ODBC, as it tries to be the smallest safe layer around odbc-sys. Therfore code written with this library is likely to be safe, but unlikely to look like idiomatic Rust. For a library offering greater convinience have a look at odbc-rs.
- Zero cost abstraction
- Catch Invalid Handle Errors at compile time
- Prevent bound buffers or columns from going out of scope
- Catch Function Sequence Errors at compile time
- Not to abstract away any power of the underlying API
This library currently supports:
- Direct execution of queries
- Prepared execution of queries
- Binding parameters
- Retrieving Result Sets (kind of slow via
SQLGetData
)
Currently unsupported:
- Binding columns to Result Sets
- Multi threading and asynchronous capabilities
Thanks to the folks of docs.rs for building and hosting the documentation!
Want to help out? Just create an issue, pull request or contact markus.klein@live.de.