連接與寫入完整程式碼
<%
' 建立連線物件
Set conn = Server.CreateObject("ADODB.Connection")
' 連線字串 (SQLOLEDB 提供者)
strconn = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
"User ID=sa;PWD=sa;" & _
"Initial Catalog=database;" & _
"Data Source=127.0.0.1"
conn.Open strconn
' 執行 INSERT
sql = "INSERT INTO datab (url) VALUES ('www.update8.com')"
conn.Execute sql
Response.Write "儲存成功"
' 關閉連線
conn.Close
Set conn = Nothing
%>
關鍵點說明
- Provider=SQLOLEDB.1:SQL Server OLE DB 提供者,需伺服器安裝 MDAC/ODBC 驅動。
- Persist Security Info=True:允許連線字串保留密碼(僅供開發測試,生產環境建議使用整合驗證)。
- Initial Catalog:指定資料庫名稱。
- Data Source:SQL Server 執行個體 IP 或主機名,可加埠號
127.0.0.1,1433。
安全性與最佳實務
- 避免硬編碼 sa 帳號密碼,應使用低權限應用程式帳號。
- 使用 參數化查詢(Command 物件 + Parameters 集合)防止 SQL 注入。
- ASP 經典已停止維護,新專案建議遷移至 ASP.NET Core 或其他現代框架。
- 連線物件用畢必須
Close 並 Set Nothing 釋放資源。
參數化查詢改寫範例
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandText = "INSERT INTO datab (url) VALUES (?)"
cmd.CommandType = 1 ' adCmdText
cmd.Parameters.Append cmd.CreateParameter("@url", 200, 1, 255, "www.update8.com") ' adVarChar, adParamInput
cmd.Execute