2 releases
0.1.3 | Jul 25, 2023 |
---|---|
0.1.2 | Jul 25, 2023 |
#1679 in Database interfaces
62KB
1.5K
SLoC
Tiberius MSSQL Broker
Broker for MSSQL. Re-implementation of C# SQLDependencyEx.
Thanks to deadpool-tiberius repository.
Example:
broker example
let mssql = MssqlConnection::establish(&SqlConfig{
host: ".".to_string(),
instance: Some("SQLEXPRESS".to_string()),
port: 1433,
username: "sa".to_string(),
password: "julfikar123@".to_string(),
database: "AED_MOBILE".to_string(),
trust_cert: true,
allow_encrypt: true,
max_pool: 1,
sql_browser: false,
}).await;
match mssql {
Ok(conn) => {
let (sx, rx) = kanal::unbounded::<Vec<ListenEvent>>();
println!("started listening...");
tokio::spawn(async move {
while let Ok(evs) = rx.recv() {
println!("{} {:?}",evs.len(),evs);
}
});
let broker = conn.listen(1,format!("IV"), sx).await;
match broker {
Ok(_) => { }
Err(err) => {
println!("{:?}",err);
}
}
}
Err(err) => {
println!("{:?}",err);
}
}
query example
let config = SqlConfig {
host: ".".to_string(),
instance: Some("SQLEXPRESS".to_string()),
port: 1433,
username: "sa".to_string(),
password: "julfikar123@".to_string(),
database: "AED_MOBILE".to_string(),
trust_cert: true,
allow_encrypt: true,
max_pool: 1,
sql_browser: false,
};
let mssql = MssqlConnection::establish(&config).await;
let mut mssql = mssql.unwrap();
let res = mssql.select("SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE';", vec![]).await;
let res: Vec<HashMap<String,Value>> = res.unwrap();
Dependencies
~21–32MB
~638K SLoC