本地測試正常,上傳至虛擬主機後表單提交報錯,無法寫入 Access 數據庫。
虛擬主機通常**不支持系統 DSN (ODBC)**,且權限限制導致 Server.CreateObject("ADODB.Connection") 使用 ODBC 連接失敗。
改用 **OLEDB Provider (Microsoft.Jet.OLEDB.4.0 / Microsoft.ACE.OLEDB.12.0)** 直連 .mdb/.accdb 文件,無需配置 DSN。
<%
Dim conn, connStr
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/mydb.mdb") & ";"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connStr
' 執行 SQL...
conn.Close
Set conn = Nothing
%>
Microsoft.ACE.OLEDB.12.0。Server.MapPath 獲取物理路徑。