34 stable releases
| 4.9.5 | May 3, 2026 |
|---|---|
| 4.7.0 | Jan 4, 2026 |
| 4.6.4 | Nov 2, 2025 |
| 4.6.1 | Jun 26, 2025 |
| 0.1.18 | Oct 26, 2022 |
#2377 in Database interfaces
2,738 downloads per month
Used in 3 crates
(2 directly)
150KB
4K
SLoC
rbdc-mssql
Microsoft SQL Server database driver for the rbdc database abstraction layer.
Basic Driver Usage
Full example: example/src/mssql.rs
use rbdc::Error;
use rbdc::pool::Pool;
use rbdc_mssql::MssqlDriver;
use rbdc_pool_fast::FastPool;
#[tokio::main]
async fn main() -> Result<(), Error> {
// Supported formats:
// let uri = "jdbc:sqlserver://localhost:1433;User=SA;Password={TestPass!123456};Database=master;";
// let uri = "sqlserver://SA:TestPass!123456@localhost:1433/master";
// let uri = "Server=localhost,1433;User Id=SA;Password=TestPass!123456;Database=master;";
let uri = "mssql://SA:TestPass!123456@localhost:1433/master";
let pool = FastPool::new_url(MssqlDriver {}, uri)?;
let mut conn = pool.get().await?;
let v = conn.exec_decode("SELECT DB_NAME() AS CurrentDatabase", vec![]).await?;
println!("{}", v);
// if need decode use `let result:Vec<Table> = rbs::from_value(v)?;`
Ok(())
}
Usage with rbatis ORM
use rbatis::RBatis;
use rbatis::Error;
#[tokio::main]
pub async fn main() -> Result<(), Error> {
let rb = RBatis::new();
rb.init(rbdc_mssql::MssqlDriver {}, "mssql://SA:TestPass!123456@localhost:1433/master")?;
Ok(())
}
Supported Connection String Formats
1. JDBC format
jdbc:sqlserver://localhost:1433;User=SA;Password={TestPass!123456};Database=master;
2. mssql:// URL format
mssql://SA:TestPass!123456@localhost:1433/master
3. sqlserver:// URL format
sqlserver://SA:TestPass!123456@localhost:1433/master
4. ADO.NET format
Server=localhost,1433;User Id=SA;Password=TestPass!123456;Database=master;
License
This project is licensed under the same license as rbdc.
Dependencies
~7–27MB
~377K SLoC