#sql-server #connection-pool #server-connection #tiberius #pool #async

deadpool-tiberius

Async ms sql server connection pool simple impl of deadpool

9 releases

0.1.8 Mar 20, 2024
0.1.7 Jan 16, 2024
0.1.6 Nov 1, 2023
0.1.5 Oct 19, 2023
0.1.2 Jun 11, 2023

#1809 in Database interfaces

Download history 24/week @ 2024-01-13 20/week @ 2024-01-20 49/week @ 2024-02-17 81/week @ 2024-02-24 26/week @ 2024-03-02 32/week @ 2024-03-09 241/week @ 2024-03-16 84/week @ 2024-03-23 39/week @ 2024-03-30 44/week @ 2024-04-06 4/week @ 2024-04-13

193 downloads per month
Used in ssql

MIT/Apache

19KB
272 lines

Deadpool & Tiberius simple impl

This crate served as connector and re-exporter of tiberius && deadpool to make create sql server connection pool easier.
If you are looking for sql server ORM, take a look at ssql.

For full documentation pls visit doc.rs.

Example, chaining configs from tiberius and configs from pooling

use deadpool_tiberius;

#[tokio::main]
async fn main() -> deadpool_tiberius::SqlServerResult<()> {
    let pool = deadpool_tiberius::Manager::new()
        .host("localhost") // default to localhost
        .port(1433) // default to 
        .basic_authentication("username", "password")
        //  or .authentication(tiberius::AuthMethod)
        .database("database1")
        .trust_cert()
        .max_size(10)
        .wait_timeout(1.52)  // in seconds, default to no timeout
        .pre_recycle_sync(|_client, _metrics| {
            // do sth with client object and pool metrics
            Ok(())
        })
        .create_pool()?;

    let mut conn = pool.get().await?;
    let rows = conn.simple_query("SELECT 1");

    // Or construct server connection config from ADO string.
    const CONN_STR: &str = "Driver={SQL Server};Integrated Security=True;\
                            Server=DESKTOP-TTTTTTT;Database=master;\
                            Trusted_Connection=yes;encrypt=DANGER_PLAINTEXT;";
    let _pool = deadpool_tiberius::Manager::from_ado_string(CONN_STR)
        .max_size(20)
        .create_pool()?;
}

Dependencies

~7–21MB
~296K SLoC