首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

在 Active Server Pages (ASP) 中使用 ADO 連接 SQL Server 完整指南

     編輯:關於SqlServer

前言

本文詳細說明如何在 ASP 中透過 ADO (ActiveX Data Objects) 建立 SQL Server 連接,並善用 ODBC 3.0 連接池提升效能。涵蓋 DSN 設定、Global.asa 應用、連接程式碼範例、常見錯誤排查。

啟用 ODBC 連接池

連接池可大幅減少建立連接的開銷。請參考 Microsoft 知識庫文件 Q164221 啟用 ODBC 連接池功能。

建立系統 DSN

  1. 在 IIS 伺服器上開啟「ODBC 資料來源管理員」→「系統 DSN」索引標籤 → 「新增」。
  2. 選擇「SQL Server」驅動程式,輸入名稱(如 SQLSysDSN)、描述、伺服器位址。
  3. 重要: 取消勾選「使用信任連接」;SQL Server 驗證模式需為「SQL Server 和 Windows」;連接字串中 uid 不可為空。

Global.asa 定義連接字串

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
    Session("ConnectionString") = "dsn=SQLSysDSN;uid=your_user;pwd=your_password;DATABASE=pubs;APP=ASP Script"
    Session("ConnectionTimeout") = 15
    Session("CommandTimeout") = 30
End Sub
</SCRIPT>

注意: 若 ASP 應用程式位於子資料夾且非虛擬目錄,Global.asa 必須放在父虛擬目錄根目錄,否則會出現「Data source name not found」錯誤。

ASP 頁面中開啟/關閉連接

<%@ LANGUAGE=VBScript %>
<%
' 頁面開頭開啟連接
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.ConnectionTimeout = Session("ConnectionTimeout")
OBJdbConnection.CommandTimeout = Session("CommandTimeout")
OBJdbConnection.Open Session("ConnectionString")
%>
<html><body>
<!-- 頁面內容 -->
</body></html>
<%
' 頁面結尾關閉連接(歸還連接池)
OBJdbConnection.Close
Set OBJdbConnection = Nothing
%>

完整範例:查詢 Authors 資料表

<% 
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open Session("ConnectionString")

Set SQLStmt = Server.CreateObject("ADODB.Command")
Set RS = Server.CreateObject("ADODB.Recordset")

SQLStmt.CommandText = "SELECT au_id, au_lname, au_fname, phone FROM authors"
SQLStmt.CommandType = 1 ' adCmdText
Set SQLStmt.ActiveConnection = OBJdbConnection
RS.Open SQLStmt

Do While Not RS.EOF
    Response.Write RS("au_id") & " " & RS("au_lname") & ", " & RS("au_fname") & " - " & RS("phone") & "<br>"
    RS.MoveNext
Loop

RS.Close
OBJdbConnection.Close
Set RS = Nothing
Set OBJdbConnection = Nothing
%>

常見連接錯誤與對策

錯誤訊息可能原因解決方向
Login failed - User: Not defined as a valid user of a trusted SQL Server connectionDSN 勾選信任連接、或 SQL Server 為 Windows 整合驗證、或 uid 為空DSN 取消信任連接、改用 SQL 驗證、提供 uid/pwd
Data source name not found and no default driver specifiedGlobal.asa 位置錯誤、DSN 名稱拼寫錯誤確認 Global.asa 在應用程式根目錄、DSN 名稱完全一致
Connection broken / Communication link failure網路中斷、SQL Server 服務停止、防火牆封鎖檢查網路連通性、SQL Server 服務狀態、防火牆規則

總結

善用系統 DSN 集中管理連接屬性,配合連接池與正確的連接開關時機,能構建穩定、高效能的 ASP + SQL Server 應用程式。

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