149个版本 (27个稳定版本)

8.1.4 2024年8月14日
8.1.2 2024年7月14日
8.1.1 2024年6月24日
7.2.4 2024年6月23日
0.10.3 2020年11月21日

#41数据库接口

Download history 10815/week @ 2024-05-02 17377/week @ 2024-05-09 15223/week @ 2024-05-16 9701/week @ 2024-05-23 17522/week @ 2024-05-30 17481/week @ 2024-06-06 12062/week @ 2024-06-13 12490/week @ 2024-06-20 8966/week @ 2024-06-27 10433/week @ 2024-07-04 10229/week @ 2024-07-11 11961/week @ 2024-07-18 10802/week @ 2024-07-25 10042/week @ 2024-08-01 9154/week @ 2024-08-08 10459/week @ 2024-08-15

43,091 每月下载量
用于 16 个Crates (11个直接使用)

MIT 许可证

560KB
8K SLoC

ODBC-API

Docs Licence Crates.io Coverage Status

Rust ODBC绑定。ODBC(开放数据库连接)是一种连接各种数据源的开放标准。大多数数据源都提供了ODBC驱动程序。ODBC有两种典型的使用场景:

  • 您的应用程序设计为可以与广泛的数据库一起工作,而无需重新部署。
  • 您的数据库没有适合的本地Rust驱动程序可用,因此您想使用ODBC驱动程序。

另请参阅: ODBC是答案吗?

本crate目前测试于以下

  • Microsoft SQL Server
  • PostgreSQL
  • MariaDB
  • SQLite

当前的ODBC版本是 3.80

此crate基于 odbc-sys ffi绑定构建,它提供了ODBC C接口的定义,但不会在其之上建立任何类型的抽象。

使用方法

请参阅指南以获取代码示例和功能介绍。

安装

要构建此库,您需要链接到系统ODBC驱动管理器的 odbc 库。它应该由构建自动检测。在Windows系统上已预安装。在Linux和OS-X上,必须安装unix-odbc。要连接到数据源,其ODBC驱动程序也必须安装。

Windows

无需操作。ODBC驱动管理器已预安装。

Ubuntu

sudo apt-get install unixodbc-dev

OS-X (intel)

您可以使用homebrew安装UnixODBC

brew install unixodbc

OS-X (ARM / MAC M1)

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

您可以在此处找到有关构建期间搜索哪些目录的文档。

您也可以从源代码安装 unixODBC

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

Linux / OS-X via Nix Flakes

或者,如果您熟悉 Nix 生态系统或想尝试它,我们维基上有用户贡献的示例,介绍如何使用 Nix flakes 设置开发环境。

特性

  • 使用数据源名称 (DSN) 连接
  • 使用 ODBC 连接字符串连接
  • 使用提示连接(Windows)
  • 通过 log crate 记录 ODBC 诊断和警告。
  • 列式批量插入。
  • 列式批量查询。
  • 按行批量插入。
  • 按行批量查询。
  • 输出存储过程的输出参数。
  • 预置和“一次性”查询。
  • 事务
  • 向查询传递参数
  • 异步执行一次性查询
  • 异步执行预置查询
  • 异步连接到数据库
  • 异步获取元信息
  • 多线程
  • 以流的形式插入大型的二进制/文本数据
  • 以流的形式获取任意大小的文本/二进制数据
  • 连接池
  • 列出数据源表
  • 检索多个结果集

依赖

~1–15MB
~210K SLoC