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

SQL Server 2000 HTTP 端點設定與 XML 查詢實作指南

     編輯:關於SqlServer

架構概覽

SQL Server 2000 引入 XML 支援,透過 IIS 虛擬目錄將資料庫公開為 HTTP 端點,支援直接執行 SQL、XPath 查詢與範本檔案。本文說明完整設定流程與安全性注意事項。

一、 建立 XML 虛擬目錄

  1. 啟動「Configure SQL XML Support in IIS」(SQL Server 程式群組)。
  2. 展開伺服器 → 選擇網站 → 右鍵「新增虛擬目錄」。
  3. 一般頁: 輸入虛擬名稱(如 xml)、實體路徑(如 C:\Inetpub\Wwwroot\xml)。
  4. 安全性頁: 選「SQL Server 驗證」,輸入專用低權限登入帳號(嚴禁使用 sa)。
  5. 資料來源頁: 伺服器名稱((local) 或具名實例)、預設資料庫。
  6. 設定頁: 勾選「允許 URL 查詢」、「允許範本查詢」、「允許 XPath」、「允許 POST」。
  7. 虛擬名稱頁: 新增 template 類型虛擬目錄指向儲存 .xml 範本檔的資料夾。

二、 驗證安裝

瀏覽器輸入:

https:///xml?sql=SELECT+*+FROM+Sysobjects+WHERE+xtype='u'+FOR+XML+AUTO&root=root

應回傳所有使用者資料表的 XML 文件。

三、 三種查詢執行模式

模式說明範例
URL 查詢直接在查詢字串傳遞 SQL?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO
範本查詢預先寫好 .xml 範本檔,含參數佔位符?template=GetCust.xml&CustomerID=ALFKI
XPath 查詢對對應結構描述(XDR/XSD)執行 XPath?xpath=/Customers[@CustomerID='ALFKI']

四、 根元素處理

SQL Server 要求 XML 文件單一根元素,兩種加入方式:

  1. SQL 字串前後加 SELECT "<ROOT>"、SELECT "</ROOT>"
  2. URL 參數加 &root=root(推薦,較乾淨)

五、 安全性強化清單

  • 建立專用 SQL 登入,僅授與 SELECT、EXECUTE 特定預存程序權限,移除 INSERT/UPDATE/DELETE/DROP/CREATE PROC。
  • 啟用 IIS 基本驗證或整合式驗證,停用匿名存取。
  • 使用 HTTPS 加密傳輸,防止明文密碼與資料竊聽。
  • URL 掃描器/防火牆規則封鎖可疑關鍵字(xp_cmdshell、sp_configure 等)。
  • 定期審查 IIS 日誌與 SQL Server 稽核日誌。

六、 程式碼範例(ASP/VBScript)

<%@ Language=VBScript %>
<!-- #include file="ADOVBS.inc" -->
<%
Dim objConn, objCmd
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=SQLOLEDB.1;Data Source=(local);Initial Catalog=TestDB;User Id=xml_user;Password=***;"
Set objCmd = Server.CreateObject("ADODB.Command")
objCmd.ActiveConnection = objConn
objCmd.Properties("Output Stream") = Response
objCmd.Properties("XML Root") = "root"
objCmd.CommandText = "SELECT * FROM Products FOR XML AUTO"
Response.ContentType = "text/xml"
objCmd.Execute , , adExecuteStream
%>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved