Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate futures;
- extern crate futures_state_stream;
- extern crate tiberius;
- extern crate tokio;
- use futures::Future;
- use futures_state_stream::StateStream;
- use tiberius::BoxableIo;
- use tiberius::SqlConnection;
- use tokio::executor::current_thread;
- fn main() {
- //Setup connections when server starts.
- let conn = SqlConnection::connect(
- "server=tcp:localhost,1433;user=sa;password=integratedSecurity=true;",
- )
- .wait()
- .unwrap();
- //Loop is to simulate server getting requests.
- loop {
- //Query execution re-uses connection (in prod it would grab it from pool).
- run("select 2", "insert into test(t)values('t')", &conn);
- std::thread::sleep(std::time::Duration::from_millis(1000));
- }
- }
- fn run(query: &'static str, insert: &'static str, conn: &SqlConnection<Box<BoxableIo>>) {
- let fut1 = conn.exec(query, &[]);
- fut1.and_then(|(_, conn)| {
- let conn: SqlConnection<Box<BoxableIo>> = conn;
- conn.exec(insert, &[]);
- Ok(())
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement