/odbc-safe

A crate for writing odbc clients in safe Rust

Primary LanguageRustMIT LicenseMIT

Odbc-safe

Build Status Docs MIT licensed Published

Note: This crate is no longer maintained. Try using odbc-api.

Introduction

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.

Design Goals

  • 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

Current State

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

Documentation

Thanks to the folks of docs.rs for building and hosting the documentation!

Contributing

Want to help out? Just create an issue, pull request or contact markus.klein@live.de.