52 个版本

0.24.0 2023年11月22日
0.22.0 2023年10月17日
0.21.4 2023年3月6日
0.21.3 2022年12月1日
0.2.6 2017年3月26日

#1693数据库接口

Download history 12814/week @ 2024-03-14 9119/week @ 2024-03-21 11543/week @ 2024-03-28 8541/week @ 2024-04-04 13719/week @ 2024-04-11 9965/week @ 2024-04-18 14202/week @ 2024-04-25 11147/week @ 2024-05-02 17747/week @ 2024-05-09 15467/week @ 2024-05-16 9952/week @ 2024-05-23 17840/week @ 2024-05-30 17659/week @ 2024-06-06 12266/week @ 2024-06-13 12321/week @ 2024-06-20 7450/week @ 2024-06-27

54,543 每月下载量
用于 28 个 Crates (6 直接)

MIT 许可证

92KB
1K SLoC

odbc-sys

Docs MIT licensed Crates.io version

ODBC (开放数据库连接) 的 FFI (Foreign Function Interface) 绑定。由于作为 C-API 的 ffi 绑定本质上是低级的,这个库旨在作为其他库的基础,而不是直接使用。

设计目标

  • 提供与 ODBC 驱动程序管理器的 C 接口兼容的 ODBC 符号声明
  • 为 Unix 和 Windows 提供 32 位或 64 位的正确符号定义
  • 不要抽象掉任何底层 API 的功能
  • 在可行的地方提高类型安全性
  • 由于目前不太可能有人用 Rust 编写 ODBC 2.0 应用程序,因此有意省略了像 'SQLAllocEnv' 这样的已弃用符号。

链接

此库将在 Windows 系统上链接到预安装的 odbc32.dll。在 Linux 和 macOS 上,它默认链接到 libodbc.so。这通常由 unix-odbc 提供。使用 --feature iodbc,您还可以链接到 libiodbc.so。如果您正在尝试连接到某些较旧的 macOS 数据源,这可能很有趣。

安装 unix-odbc

Linux

使用您系统的软件包管理器安装 unixodbc-dev。例如,在 Ubuntu / Debian 上

sudo apt install unixodbc-dev

macOS

在基于 Intel 的架构上,您可以使用 homebrew 安装 unix-odbc

brew install unixodbc

针对基于 ARM 的 macOS 系统(M1 处理器及更高版本)的说明

cargo build 不会拾取通过 homebrew 安装的 libodbc.so,因为 homebrew 在 ARM Mac 上安装到 /opt/homebrew/Cellar,而不是 /usr/local/opt/

您可以在以下位置找到有关构建期间搜索的目录的文档:https://doc.rust-lang.net.cn/cargo/reference/environment-variables.html#dynamic-library-paths

您还可以从源代码安装 unixODBC

  1. 将 unixODBC-2.3.9.tar.gz 文件复制到您可以创建文件和目录的地方
  2. gunzip unixODBC*.tar.gz
  3. tar xvf unixODBC*.tar
  4. ./configure
  5. make
  6. makeinstall

感谢 @TBPixel 对此进行测试!

Windows

由于Windows系统已预装ODBC,您可以直接使用。

当前状态

随着我们在高级API中实现用例,符号将添加到此库中。如果您缺少什么,请毫不犹豫地贡献。

文档

感谢docs.rs团队构建和托管文档

贡献

想要帮忙?只需创建一个问题或拉取请求。

无运行时依赖