我正在學習 Rust,并且我已經使用 Rocket 撰寫了我的第一個非常簡單的 API。現在我想將我的服務器連接到我在 MSFT Azure 上的現有資料庫。我很難找到有關 Mssql 如何作業的示例,SQLx 存盤庫僅包含 Postgres 和 MySQL 的示例。
Azure 門戶上沒有可用于 Rust 的連接字串,因此我嘗試了不同版本的 Go 和 ODBC:
const SERVER: &str = "<mysqlserver>.database.windows.net";
const PORT: &str = "1433";
const USER: &str = "sqladmin";
const PASSWORD: &str = "<mypassword>";
const DATABASE: &str = "<mydatabase>";
MssqlConnection::connect(&format!("server={};user id={};password={};port={};database={};", SERVER, USER, PASSWORD, PORT, DATABASE)[..]).await?;
這給出了一個,Error: Configuration(RelativeUrlWithoutBase)所以我認為 SQLx 需要一個連接字串"postgres://...",但我找不到 mssql 的這個字串。
uj5u.com熱心網友回復:
雖然我仍然無法連接到 Azure 上的 SQL Server,但是找到正確的連接字串格式的問題已經解決了。我能夠使用以下方法連接到本地服務器:
MssqlConnection::connect("mssql://user:password@server/database").await?;
因此連接字串遵循與例如 Postgres 相同的架構,遺憾的是 Azure 門戶上的示例字串都不是這種型別。
編輯:連接問題很可能是由于缺乏對加密連接的支持,這里有更多詳細資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/361414.html
標籤:sql-server 天蓝色 锈 锈火箭 锈-sqlx
