Connessione a SQL Server in Rust con tiberius

Mattepuffo's logo
Connessione a SQL Server in Rust con tiberius

Connessione a SQL Server in Rust con tiberius

In questo articolo vediamo come connetterci ad un db SQL Server in Rust.

Useremo tiberius, che è il driver più usato per SQL Server in Rust.

Aggiungete queste dipendenze al vostro Cargo.toml:

[dependencies]
tiberius = "0.12"
tokio = { version = "1.48.0", features = ["full"] }
tokio-util = { version = "0.7", features = ["compat"] }

Qui sotto un pò di codice:

use tiberius::{Client, Config, AuthMethod};
use tokio::net::TcpStream;
use tokio_util::compat::{TokioAsyncWriteCompatExt};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
  let mut config = Config::new();

  config.host("localhost");
  config.port(1433);
  config.database("test");
  config.authentication(AuthMethod::sql_server("sa", "Fermat85@"));
  config.trust_cert();

  let tcp = TcpStream::connect(config.get_addr()).await?;
  tcp.set_nodelay(true)?;

  let mut client = Client::connect(config, tcp.compat_write()).await?;

  let query = "SELECT id, email FROM persone";
  let stream = client.query(query, &[]).await?;
  let rows = stream.into_first_result().await?;

  for row in rows {
    let id: i32 = row.get(0).unwrap();
    let email: &str = row.get(1).unwrap();

    println!("ID: {}, Email: {}", id, email);
  }

  Ok(())
}

Enjoy!


Condividi

Commentami!