首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

ASP 連接 MySQL 完整教學:MyODBC 驅動、DSN 設定與安全連線模式

     編輯:MySQL 資料庫相關知識

架構說明

ASP 透過 ADO 使用 ODBC 驅動連接 MySQL。需安裝 MySQL Connector/ODBC (MyODBC),建議 5.3 或 8.0 版(支援 MySQL 5.7+、UTF-8、SSL)。

Windows 安裝與 DSN 建立

  1. 下載並安裝 MyODBC(選擇 Unicode 版)。
  2. 2. 開啟 ODBC 資料來源管理員(odbcad32.exe),切換至 系統 DSN 分頁。 3. 新增 → 選擇 MySQL ODBC 8.0 Unicode Driver。 4. 填寫:
    Data Source Name:MySQL_DSN
    Description:Production MySQL
    Server:127.0.0.1 或實際 IP
    Port:3306
    User / Password:資料庫帳密
    Database:預設庫
    Charset:utf8mb4
    測試通過後確定。

ASP 連線程式碼

模式一:無 DSN(連線字串內含帳密,不建議生產用)

<%
Dim conn, connStr
Set conn = Server.CreateObject("ADODB.Connection")
connStr = "Driver={MySQL ODBC 8.0 Unicode Driver};" & _
          "Server=127.0.0.1;Port=3306;" & _
          "Database=my_db;Uid=my_user;Pwd=my_pass;" & _
          "Option=3;Charset=utf8mb4;"
conn.Open connStr
' ... 執行查詢
conn.Close
Set conn = Nothing
%>

模式二:使用系統 DSN(推薦,安全性高)

<%
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=MySQL_DSN"
' ...
conn.Close
Set conn = Nothing
%>

優點:原始碼無帳密、修改連線參數只改 DSN、可設定連線池、SSL 等進階選項。

安全性強化建議

  • 最小權限帳號:ASP 專用帳號,僅授予必要庫/表的 SELECT/INSERT/UPDATE/DELETE。
  • 禁用 SA/root:絕不在 Web 程式使用管理員帳號。
  • 連線加密:DSN 勾選 SSL,或連線字串加 SslMode=REQUIRED。
  • 錯誤訊息不顯示給用戶:On Error Resume Next 配合自訂錯誤頁,避免洩露結構資訊。
  • 參數化查詢:使用 Command 物件 + Parameters 防 SQL 注入。

常見問題排查

現象原因與解法
Driver not found未安裝 MyODBC、或 32/64 位不匹配(IIS 應用程式集區啟用 32 位應用程式)
Connection refusedMySQL 未啟動、防火牆阻擋 3306、bind-address 錯誤
Access denied帳密錯、Host 欄位未授權(需 % 或 Web 伺服器 IP)
中文亂碼DSN/連線字串未設 Charset=utf8mb4、資料庫/表/欄位非 utf8mb4
逾時CommandTimeout/ConnectionTimeout 調大、優化慢查詢

Linux/Unix 環境補充

需安裝 unixODBC + mysql-connector-odbc,設定 /etc/odbc.ini 系統 DSN,ASP.NET Core 可用 OdbcConnection 相同方式連線。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved