39 releases (16 breaking)

Uses old Rust 2015

0.18.2 May 2, 2021
0.18.0 Mar 28, 2021
0.16.0 Nov 16, 2020
0.9.0 Jul 15, 2020
0.2.6 Mar 26, 2017

#47 in Database interfaces

Download history 579/week @ 2021-01-21 991/week @ 2021-01-28 744/week @ 2021-02-04 1256/week @ 2021-02-11 934/week @ 2021-02-18 827/week @ 2021-02-25 850/week @ 2021-03-04 1002/week @ 2021-03-11 1002/week @ 2021-03-18 1271/week @ 2021-03-25 707/week @ 2021-04-01 1146/week @ 2021-04-08 1286/week @ 2021-04-15 1020/week @ 2021-04-22 1118/week @ 2021-04-29 645/week @ 2021-05-06

4,209 downloads per month
Used in 14 crates (6 directly)

MIT license

81KB
1K SLoC

odbc-sys

Build Status Docs MIT licensed Published

FFI (Foreign Function Interface) bindings for ODBC (Open Database Connectivity) As ffi bindings to C-APIs are low level by nature this library is intended to be the foundation of other libraries to build on top, rather than to be used directly.

Design Goals

  • Providing declarations of ODBC Symbols compatible to the C-Interface of an ODBC Driver Manager
  • Provide correct definition of symbols for Unix and Windows in either 32Bit or 64Bit flavour
  • Not to abstract away any power of the underlying API
  • Increase type safety where feasable
  • As it is as of now unlikely to happen that anyone is writing ODBC 2.0 applications in Rust therefore deprecated symbols like 'SQLAllocEnv' have been left out intentionally.

Linking

This library will link against odbc32.dll (preinstalled) on Windows systems. On Linux and OS-X it links against libodbc.so by default. This is typically provided by unix-odbc. Using the --feature iodbc you can also link against libiodbc.so. This may be interessting if you are trying to connect to some older data sources on OS-X.

Current State

Symbols are added to this library as we go along implementing uses cases in higher level APIs. If you miss something please do not hesitate to contribute.

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.

No runtime deps