首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET Web.config connectionStrings 連線字串完整設定指南

     編輯:ASP.NET 基礎

四大常見情境

1. 本地開發:LocalDB + .mdf 檔案 (最常用)

<connectionStrings>
  <add name="MyConn"
       connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
       providerName="System.Data.SqlClient" />
</connectionStrings>
  • |DataDirectory| 對應 App_Data 資料夾。
  • .mdf 為獨立資料庫檔案,可直接複製部署,無需 Detach/Attach。
  • Integrated Security=True 使用 Windows 驗證,無需帳密。

2. 本地開發:SQL Server Compact (.sdf)

<add name="MyConn"
     connectionString="Data Source=|DataDirectory|\MvcMusicStore.sdf"
     providerName="System.Data.SqlServerCe.4.0" />
  • 無需安裝 SQL Server 服務,適合輕量級測試。
  • 效能與功能受限,不建議正式環境使用。

3. 本地開發:完整 SQL Server 實例 (Initial Catalog)

<add name="DefaultConnection"
     connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true"
     providerName="System.Data.SqlClient" />
  • 資料庫由 SQL Server 管理,非獨立檔案,部署需備份/還原或腳本。

4. 正式環境部署:遠端 SQL Server (SQL 驗證)

<add name="MyConn"
     connectionString="Data Source=db-server;Initial Catalog=ProdDB;User ID=web_user;Password=P@ssw0rd;"
     providerName="System.Data.SqlClient" />
  • 移除 Integrated Security,改用 User ID/Password。
  • 部署時務必**替換連線字串** (Web.config Transform / CI/CD 變數 / Azure App Settings)。

關鍵屬性對照表

屬性說明範例
Data Source / Server伺服器位址、實例名(LocalDB)\MSSQLLocalDB、192.168.1.100、tcp:myserver.database.windows.net
Initial Catalog / Database資料庫名稱MyDatabase
AttachDbFilename掛載 .mdf 檔案路徑|DataDirectory|\App.mdf
Integrated Security / Trusted_ConnectionWindows 驗證True / False
User ID / UIDSQL 登入帳號sa、web_user
Password / PWDSQL 登入密碼P@ssw0rd
MultipleActiveResultSets啟用 MARS (同一連線多重作用中結果集)True
Encrypt / TrustServerCertificateAzure SQL / SSL 加密連線True / False

程式碼中讀取

string connStr = ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString;
using (var conn = new SqlConnection(connStr)) {
    conn.Open();
    // ...
}

安全性最佳實務

  • **勿將正式環境密碼寫入原始碼/版控**,使用 Web.config Transform、Azure Key Vault、AWS Secrets Manager 或環境變數注入。
  • 啟用 Encrypt=True;TrustServerCertificate=False 強制 TLS 加密。
  • 最小權限原則:資料庫帳號僅授予必要權限 (SELECT/INSERT/UPDATE/DELETE)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved