<%@ Language=VBScript %>
<%
' 建立 ADO 連線物件
Dim conn, connStr
Set conn = Server.CreateObject("ADODB.Connection")
' 連線字串:OLE DB Provider for SQL Server (SQLOLEDB)
connStr = "Provider=SQLOLEDB.1;" & _
"Data Source=RemoteServerName;" & _ ' 遠端伺服器名稱或 IP
"Initial Catalog=DatabaseName;" & _ ' 資料庫名稱
"User ID=sa;" & _ ' 登入帳號
"Password=your_password;" ' 密碼
On Error Resume Next
conn.Open connStr
If Err.Number = 0 Then
Response.Write "連線成功!
"
' 執行簡單查詢測試
Dim rs, sql
sql = "SELECT TOP 5 * FROM SomeTable"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
Response.Write "查詢成功,欄位數:" & rs.Fields.Count & "
"
' 顯示欄位名
Dim f
For Each f In rs.Fields
Response.Write f.Name & " "
Next
Response.Write "
"
Else
Response.Write "查詢無資料
"
End If
rs.Close
Set rs = Nothing
Else
Response.Write "連線失敗:" & Err.Description & "
"
End If
conn.Close
Set conn = Nothing
%>
| 錯誤訊息 | 可能原因 | 解決方向 |
|---|---|---|
| Provider not found | MDAC 缺少 SQLOLEDB | 升級 MDAC |
| SQL Server does not exist or access denied | 網路不通/名稱解析/埠阻擋/服務未啟動 | ping/telnet 1433/hosts/服務管理員 |
| Login failed for user 'sa' | 驗證模式為僅 Windows/密碼錯誤 | 改混合模式/確認密碼 |
此測試腳本為後續建立 Out-of-Process COM 元件 (VB 開發) 奠基,實際專案中建議將連線字串放入 Global.asa 或登錄/INI 檔集中管理,並使用參數化查詢防止注入。