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 在 数据库接口
54,543 每月下载量
用于 28 个 Crates (6 直接)
92KB
1K SLoC
odbc-sys
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
- 将 unixODBC-2.3.9.tar.gz 文件复制到您可以创建文件和目录的地方
- gunzip unixODBC*.tar.gz
- tar xvf unixODBC*.tar
./configure
make
makeinstall
感谢 @TBPixel 对此进行测试!
Windows
由于Windows系统已预装ODBC,您可以直接使用。
当前状态
随着我们在高级API中实现用例,符号将添加到此库中。如果您缺少什么,请毫不犹豫地贡献。
文档
贡献
想要帮忙?只需创建一个问题或拉取请求。