ActiveX Data Objects (ADO) 是一項容易使用並且可擴充的將資料庫訪問添加到 Web 頁的技術。可以使用 ADO 去編寫緊湊簡明的指令碼以便串連到 Open Database Connectivity (ODBC) 相容的資料庫和 OLE DB 相容的資料來源。如果您是一個對資料庫連接有一定瞭解的指令碼編寫人員,那麼您將發現 ADO 命令語句並不複雜而且容易掌握。同樣地,如果您是一個經驗豐富的資料庫編程人員,您將會正確認識 ADO 的先進的與語言無關性和查詢處理功能。
建立 ODBC DSN 檔案
在建立資料庫指令碼之前,必須提供一條使 ADO 定位、標識和與資料庫通訊的途徑。資料庫驅動程式使用 Data Source Name (DSN) 定位和標識特定的 ODBC 相容資料庫,將資訊從 Web 應用程式傳遞給資料庫。典型情況下,DSN 包含資料庫配置、使用者安全性和定位資訊,且可以擷取 Windows NT 登錄機碼中或文字檔的表格。
通過 ODBC,您可以選擇希望建立的 DSN 的類型:使用者、系統 或 檔案。使用者和系統 DSN 儲存在 Windows NT 註冊表中。系統 DSN 允許所有的使用者登入到特定的伺服器上去訪問資料庫,而使用者 DSN 使用適當的安全身份證明限制資料庫到特定使用者的串連。檔案 DSN 用於從文字檔中擷取表格,提供了對多使用者的訪問,並且通過複製 DSN 檔案,可以輕易地從一個伺服器轉移到另一個伺服器。由於以上原因,本主題中的樣本將使用檔案 DSN。
通過在 Windows 的“開始”菜單開啟“控制台”,您可以建立基於 DSN 的檔案。雙擊“ODBC”表徵圖,然後選擇“檔案 DSN”屬性頁面,單擊“添加”,選擇資料庫驅動程式,然後單擊“下一步”。按照後面的指示配置適用於您的資料庫軟體的 DSN。
配置 Microsoft Access 資料庫的檔案 DSN
在“建立新資料來源”對話方塊中,從列表框選擇“Microsoft Access Driver”,然後單擊“下一步”。
鍵入您的 DSN 檔案名稱,然後單擊“下一步”。
單擊“完成”建立資料來源。
在“ODBC Microsoft Access 97 安裝程式”對話方塊中,單擊“選擇”。選擇 Microsoft Access 資料庫檔案 (*.mdb),然後單擊“確定”。
注意 由於效能和可靠性的原因,我們極力推薦您使用“客戶-伺服器資料庫引擎”配置由這樣一種 Web 應用程式驅動的資料,這些 Web 應用程式必須滿足 10 個以上的使用者的同時訪問。儘管 ASP 可以使用任何 ODBC 相容的資料庫,但它是為使用客戶-伺服器資料庫而設計的,而且經過了嚴格的測試,這些資料庫包括 Microsoft SQL Server、Oracle 等。
ASP 支援共用檔案資料庫(如 Microsoft Access 或 Microsoft FoxPro)作為有效資料來源。儘管在 ASP 文檔中的一些樣本使用共用檔案資料庫,但我們建議只將此類資料庫引擎用於開發或有限的配置方案。共用檔案資料庫可能無法很好地適用於可滿足高需求、高品質的 Web 應用程式的客戶-伺服器資料庫。
配置 SQL Server 資料庫檔案 DSN
注意 如果資料庫駐留在遠程伺服器上,請與伺服器管理員聯絡,擷取附加的配置資訊;下面的過程使用 SQL Server 的 ODBC 預設的設定,它可能不適用於您的硬體設定。
在“建立新資料來源”對話方塊中,從列表框中選擇“SQL Server”,然後單擊“下一步”。
鍵入 DSN 檔案的名稱,然後單擊“下一步”。
單擊“完成”建立資料來源。
鍵入運行 SQL 服務程式的伺服器的名稱、登入 ID 和密碼。
在“建立 SQL Server 的新資料來源”對話方塊中,在“伺服器”列表框中鍵入包含 SQL Server 資料庫的伺服器的名稱,然後單擊“下一步”。
選擇驗證登入 ID 的方式。
如果要選擇 SQL 伺服器驗證,請輸入一個登入 ID 和密碼,然後單擊“下一步”。
在“建立 SQL Server 的新資料來源”對話方塊中,設定預設資料庫、預存程序設定的驅動程式和 ANSI 標識,然後單擊“下一步”。(要擷取詳細資料,請單擊“協助”。)
在對話方塊(同樣名為“建立 SQL Server 的新資料來源”)中,選擇一種字元轉換方法,然後單擊“下一步”。 (詳細資料,請單擊“協助”。)
在下一個對話方塊(同樣名為“建立 SQL Server 的新資料來源”)中,選擇登入設定。
注意 典型情況下, 您只能使用日誌來調試資料庫訪問問題。
在“ODBC Microsoft SQL Server 安裝程式”對話方塊中,單擊“測試資料來源”。如果 DSN 正確建立,“測試結果”對話方塊將指出測試成功完成。
SQL server 串連和安全資訊
如果您正在開發用於串連遠程 SQL Server 資料庫的 ASP 資料庫應用程式,應考慮以下問題:
串連方案- 您可以選擇 TCP/IP 通訊端和具名管道的方法訪問遠端 SQL Server 資料庫。當使用具名管道時,因為在建立串連之前,資料庫使用者必須被 Windows NT 確認,所以對只有適當的 SQL Server 訪問身份而在該電腦上沒有 Windows NT 使用者帳號的使用者可能會被拒絕訪問具名管道。作為一種替代方案,使用 TCP/IP 通訊端的串連可直接連接到資料庫伺服器,而不必通過使用具名管道的中間電腦。因為使用 TCP/IP 通訊端串連可直接連接到資料庫 server,所以通過 SQL Server 的確認,使用者就可以獲得訪問權,而不必通過 Windows NT 的確認。
注意 在串連到遠端資料庫時使用 TCP/IP 通訊端可提高效能。
安全性 - 如果您使用 SQL Server 的 整合 或 混合 安全特性,並且 SQL Server 資料庫位於遠程伺服器上,則不能使用 Windows NT 請求/響應的確認。也就是說,不能將 Windows NT 請求/響應身份證轉寄到遠端電腦上,而只能使用基本驗證,它根據使用者提供使用者名稱和口令資訊進行。
有關這一主題的詳細資料,請參閱 http://www.microsoft.com/sqlsupport/default.htm
上的 Microsoft SQL Server 支援人員首頁。
結合 HTML 表格和資料庫訪問
包含 HTML 表格的 Web 頁可使使用者遠程查詢資料庫並且檢索特定的資訊。用 ADO 您可以建立非常簡單的指令碼來收集使用者表格資訊、建立自訂的資料庫查詢以及將資訊返回給使用者。使用 ASP Request 對象,您可以檢索輸入到 HTML 表格的資訊並將這些資訊合并到 SQL 陳述式中。例如,下面的指令碼模組將 HTML 表格提供的資訊插入表格中。此指令碼用 Request 對象的 Form 集合收集使用者資訊。
有關表格和使用 ASP Request 對象的詳細資料,請參閱 使用 HTML 表格。
管理資料庫串連
設計一個能經得起考驗的 Web 資料庫應用程式(例如為幾千個客戶服務的聯機購物應用程式)的最大挑戰,在於如何合理地管理資料庫串連。開啟並且保持資料庫連接,即使在沒有資訊傳輸時,也會嚴重耗費資料庫伺服器的資源並且可能會導致串連性問題。設計良好的 Web 資料庫應用程式將回收資料庫連接並能夠補償由於網路堵塞造成的延遲。