add mssql
This commit is contained in:
19
src/check_maria_db.rs
Normal file
19
src/check_maria_db.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
use log::info;
|
||||
|
||||
use sqlx::mysql::MySqlPoolOptions;
|
||||
|
||||
pub async fn check_maria_db() -> Result<(), sqlx::Error> {
|
||||
let pool = MySqlPoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("mysql://demo_user:demo_pass@localhost:8084/demo")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row = sqlx::query("SELECT * from events")
|
||||
.fetch_all(&pool)
|
||||
.await?;
|
||||
|
||||
info!("Received {:?}", row);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
27
src/check_ms_sql.rs
Normal file
27
src/check_ms_sql.rs
Normal file
@@ -0,0 +1,27 @@
|
||||
use log::info;
|
||||
|
||||
use sqlx::mssql::{
|
||||
MssqlConnectOptions,
|
||||
MssqlPool,
|
||||
};
|
||||
|
||||
pub async fn check_ms_sql() -> Result<(), sqlx::Error> {
|
||||
// "mssql://sa:'adm1n_pa%s'@localhost:8085/demo"
|
||||
let options = MssqlConnectOptions::new()
|
||||
.host("localhost")
|
||||
.port(8085)
|
||||
.database("demo")
|
||||
.username("demo_user")
|
||||
.password("pas$w0rd");
|
||||
|
||||
let pool = MssqlPool::connect_with(options).await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let _row = sqlx::query("SELECT * from Products")
|
||||
.fetch_all(&pool)
|
||||
.await?;
|
||||
|
||||
info!("Received ok!");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
19
src/check_mysql.rs
Normal file
19
src/check_mysql.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
use log::info;
|
||||
|
||||
use sqlx::mysql::MySqlPoolOptions;
|
||||
|
||||
pub async fn check_mysql() -> Result<(), sqlx::Error> {
|
||||
let pool = MySqlPoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("mysql://demo_user:demo_pass@localhost:8086/demo")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row = sqlx::query("SELECT * from events")
|
||||
.fetch_all(&pool)
|
||||
.await?;
|
||||
|
||||
info!("Received {:?}", row);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
22
src/check_postgres.rs
Normal file
22
src/check_postgres.rs
Normal file
@@ -0,0 +1,22 @@
|
||||
use log::info;
|
||||
|
||||
use sqlx::postgres::PgPoolOptions;
|
||||
|
||||
pub async fn check_postgres() -> Result<(), sqlx::Error> {
|
||||
let pool = PgPoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("postgres://demo_user:demo_pass@localhost:8087/demo")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row: (i64,) = sqlx::query_as("SELECT $1")
|
||||
.bind(150_i64)
|
||||
.fetch_one(&pool)
|
||||
.await?;
|
||||
|
||||
assert_eq!(row.0, 150);
|
||||
|
||||
info!("Received {}", row.0);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
26
src/check_sqlite.rs
Normal file
26
src/check_sqlite.rs
Normal file
@@ -0,0 +1,26 @@
|
||||
use log::info;
|
||||
|
||||
use sqlx::sqlite::SqlitePoolOptions;
|
||||
|
||||
pub async fn check_sqlite() -> Result<(), sqlx::Error> {
|
||||
// Create a connection pool
|
||||
// for MySQL, use MySqlPoolOptions::new()
|
||||
// for SQLite, use SqlitePoolOptions::new()
|
||||
// etc.
|
||||
let pool = SqlitePoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("sqlite://test.db")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row: (i64,) = sqlx::query_as("SELECT $1")
|
||||
.bind(150_i64)
|
||||
.fetch_one(&pool)
|
||||
.await?;
|
||||
|
||||
assert_eq!(row.0, 150);
|
||||
|
||||
info!("Received {}", row.0);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
112
src/main.rs
112
src/main.rs
@@ -1,10 +1,16 @@
|
||||
use log::info;
|
||||
|
||||
use sqlx::{
|
||||
mysql::MySqlPoolOptions,
|
||||
postgres::PgPoolOptions,
|
||||
sqlite::SqlitePoolOptions,
|
||||
};
|
||||
use check_maria_db::check_maria_db;
|
||||
use check_ms_sql::check_ms_sql;
|
||||
use check_mysql::check_mysql;
|
||||
use check_postgres::check_postgres;
|
||||
use check_sqlite::check_sqlite;
|
||||
|
||||
mod check_maria_db;
|
||||
mod check_ms_sql;
|
||||
mod check_mysql;
|
||||
mod check_postgres;
|
||||
mod check_sqlite;
|
||||
|
||||
fn setup_logger() -> Result<(), fern::InitError> {
|
||||
fern::Dispatch::new()
|
||||
@@ -24,96 +30,6 @@ fn setup_logger() -> Result<(), fern::InitError> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn check_maria_db() -> Result<(), sqlx::Error> {
|
||||
let pool = MySqlPoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("mysql://demo_user:demo_pass@localhost:8084/demo")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row = sqlx::query("SELECT * from events")
|
||||
.fetch_all(&pool)
|
||||
.await?;
|
||||
|
||||
info!("Received {:?}", row);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// async fn check_ms_sql() -> Result<(), sqlx::Error> {
|
||||
// let pool = MySqlPoolOptions::new()
|
||||
// .max_connections(5)
|
||||
// .connect("mssql://sa:'adm1n_pa%s'@localhost:8085/demo")
|
||||
// .await?;
|
||||
|
||||
// // Make a simple query to return the given parameter
|
||||
// let row = sqlx::query("SELECT * from events")
|
||||
// .fetch_all(&pool)
|
||||
// .await?;
|
||||
|
||||
// info!("Received {:?}", row);
|
||||
|
||||
// Ok(())
|
||||
// }
|
||||
|
||||
async fn check_mysql() -> Result<(), sqlx::Error> {
|
||||
let pool = MySqlPoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("mysql://demo_user:demo_pass@localhost:8086/demo")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row = sqlx::query("SELECT * from events")
|
||||
.fetch_all(&pool)
|
||||
.await?;
|
||||
|
||||
info!("Received {:?}", row);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn check_postgres() -> Result<(), sqlx::Error> {
|
||||
let pool = PgPoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("postgres://demo_user:demo_pass@localhost:8087/demo")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row: (i64,) = sqlx::query_as("SELECT $1")
|
||||
.bind(150_i64)
|
||||
.fetch_one(&pool)
|
||||
.await?;
|
||||
|
||||
assert_eq!(row.0, 150);
|
||||
|
||||
info!("Received {}", row.0);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn check_sqlite() -> Result<(), sqlx::Error> {
|
||||
// Create a connection pool
|
||||
// for MySQL, use MySqlPoolOptions::new()
|
||||
// for SQLite, use SqlitePoolOptions::new()
|
||||
// etc.
|
||||
let pool = SqlitePoolOptions::new()
|
||||
.max_connections(5)
|
||||
.connect("sqlite://test.db")
|
||||
.await?;
|
||||
|
||||
// Make a simple query to return the given parameter
|
||||
let row: (i64,) = sqlx::query_as("SELECT $1")
|
||||
.bind(150_i64)
|
||||
.fetch_one(&pool)
|
||||
.await?;
|
||||
|
||||
assert_eq!(row.0, 150);
|
||||
|
||||
info!("Received {}", row.0);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
//#[async_std::main]
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), sqlx::Error> {
|
||||
@@ -126,9 +42,9 @@ async fn main() -> Result<(), sqlx::Error> {
|
||||
tokio::spawn(async move {
|
||||
check_mysql().await.unwrap();
|
||||
}),
|
||||
// tokio::spawn(async move {
|
||||
// check_ms_sql().await.unwrap();
|
||||
// }),
|
||||
tokio::spawn(async move {
|
||||
check_ms_sql().await.unwrap();
|
||||
}),
|
||||
tokio::spawn(async move {
|
||||
check_maria_db().await.unwrap();
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user