5个版本 (重大更改)

使用旧Rust 2015

0.5.0 2019年12月18日
0.4.0 2019年11月12日
0.3.0 2019年10月29日
0.2.0 2019年1月22日
0.1.0 2018年2月21日

#20 in #odbc

Download history 58/week @ 2024-03-11 53/week @ 2024-03-18 30/week @ 2024-03-25 461/week @ 2024-04-01 57/week @ 2024-04-08 5/week @ 2024-04-15 21/week @ 2024-04-22 6/week @ 2024-04-29 11/week @ 2024-05-20 15/week @ 2024-05-27 13/week @ 2024-06-03 25/week @ 2024-06-10 26/week @ 2024-06-17 23/week @ 2024-06-24

每月下载量 90次
unidb_odbc 中使用

MIT 许可证

9KB
107 代码行

r2d2-odbc

ODBC 驱动器,用于 r2d2 连接池

https://travis-ci.org/Koka/odbc-rs Appveyor Build status Coverage Status Docs

示例


extern crate r2d2;
extern crate r2d2_odbc;
extern crate odbc;

use std::thread;
use r2d2_odbc::ODBCConnectionManager;
use odbc::*;

fn main() {
    let manager = ODBCConnectionManager::new("DSN=PostgreSQL");
    let pool = r2d2::Pool::new(manager).unwrap();

    let mut children = vec![];
    for i in 0..10i32 {
        let pool = pool.clone();
        children.push(thread::spawn(move || {
            let pool_conn = pool.get().unwrap();
            let conn = pool_conn.raw();
            let stmt = Statement::with_parent(&conn).unwrap();
            if let Data(mut stmt) = stmt.exec_direct("SELECT version()").unwrap() {
                while let Some(mut cursor) = stmt.fetch().unwrap() {
                    if let Some(val) = cursor.get_data::<&str>(1).unwrap() {
                        println!("THREAD {} {}", i, val);
                    }
                }
            }
        }));
    }

    for child in children {
        let _ = child.join();
    }
}

依赖关系

~3.5–9.5MB
~137K SLoC