如何使用HTTP訪問SQLServer

來源:互聯網
上載者:User

  sql_server_using_url>使用 HTTP 訪問 SQL Server

  可以使用 HTTP 訪問 Microsoft® SQL Server™ 2000。在可以使用 HTTP 指定查詢前,必須先用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力建立一個虛擬根。

  SQL Server 的 HTTP 訪問能力使您得以:

  直接在 URL 中指定 SQL 查詢,例如: target=_blank>http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root

  指定 FOR XML 子句以 XML 文檔而不是標準行集的形式返回結果。根參數可標識單一的頂層元素。

  直接在 URL 中指定模板。

  模板是包含一個或多個 SQL 陳述式的有效 XML 文檔。模板使您得以將資料放在一起以形成有效 XML 文檔,但直接在 URL 中指定查詢時不一定是這樣。例如: target=_blank>http://IISServer/nwind?template=SELECT+*+FROM+Customers+FOR+XML+AUTO

  在 URL 中指定模板檔案。

  在 URL 中寫入長 SQL 查詢會很麻煩。此外,瀏覽器對在 URL 中可以輸入的文本量可能有限制。若要避免這些問題,可以編寫模板並將其儲存在檔案中。模板是包含一個或多個 SQL 陳述式和 XPath 查詢的有效 XML 文檔。可以在 URL 中直接指定模板檔案,例如:http://IISServer/nwind/TemplateVirtualName/templatefile.xml

  target=_blank>http://IISServer/nwind/TemplateVirtualName/templatefile.xml">http://IISServer/nwind/TemplateVirtualName/templatefile.xml

  在 URL 中,TemplateVirtualName 是使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力建立的 template 類型的虛擬名稱。

  模板檔案還刪除來自使用者的資料庫查詢的詳細資料以增強安全性。通過將模板檔案儲存體在註冊資料庫時所在的虛擬根目錄(或其子目錄)中,刪除虛擬根上的 URL 查詢處理服務並只允許 SQL Server XML ISAPI 處理檔案及返回結果集,從而加強了安全性。

  指定在帶批註的 XML 資料簡化 (XDR) 架構(也稱為映射架構)上執行的 XPath 查詢。

  從概念上講,對映射架構編寫 XPath 查詢與使用 CREATE VIEW 語句建立視圖並對視圖編寫 SQL 查詢相似,例如:http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]

  target=_blank>http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]">http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]

  在這個 URL 中:

  SchemaVirtualName 是使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力建立的 schema 類型的虛擬名稱。

  Customer@CustomerID="ALFKI"] 是在該 URL 中指定的 schemafile.xml 上執行的 Xpath 查詢。

  直接在 URL 中指定資料庫物件。

  可以將資料庫物件指定為 URL 的一部分,並對資料庫物件指定 Xpath 查詢,例如: target=_blank>http://IISServer/nwind/dbobjectVirtualName/XpathQuery

  在這個 URL 中,dbobjectVirtualName 是使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力建立的 dbobject 類型的虛擬名稱。

  說明當在 URL 中執行需要資源(如記憶體)的操作(建立暫存資料表和暫存預存程序、聲明遊標、執行sp_xml_preparedocument 等等)時,必須執行適當的相應命令(如 DROP TABLE、DROP PROCEDURE、DEALLOCATE 遊標或 EXECUTE sp_xml_removedocument)以釋放資源。

  XML 文檔和文檔片段

  當用 root 參數執行模板或查詢時,結果是有單個頂層元素的完整 XML 文檔。例如,下列 URL 執行模板:http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml

  target=_blank>http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml">http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml

  下面是一個樣本模板檔案 (MyTemplate.xml):

  

  SELECT *

  FROM Customers

  FOR XML AUTO

  

  

  模板中的 標記為結果 XML 文檔提供了單個的頂層元素。

  可以直接在 URL 中指定查詢。在此例中,root 參數指定返迴文檔中的頂層元素: http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO?root=root

  如果在寫上述查詢時不使用 root 參數,將返回一個 XML 文檔片段(即缺少單個頂層元素的 XML 文檔)。 該片段沒有標題資訊。例如,下列 URL 將返迴文檔片段:http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO

  當請求一個 XML 文檔時,將返回用以標識文檔編碼類別型的位元組順序標記。位元組順序標記是用以標識 XML 文檔編碼類別型的標準位元組順序。XML 分析器使用該位元組順序標記確定文檔編碼類別型(如 Unicode)。例如,位元組順序標記"oxff, 0xfe"將文檔標識為 Unicode。預設情況下,分析器假設 UTF-8 為文檔編碼類別型。

  當請求 XML 片段時將不返回位元組順序標記,因為位元組順序標記屬於 XML 文檔標

  題,而 XML 片段中沒有標題。

  sql_server_utility>使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力

  在使用 HTTP 訪問 Microsoft® SQL Server™ 2000 資料庫之前,必須安裝適當的虛擬目錄。在運行 Microsoft Internet 資訊服務 (IIS) 的電腦上,使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力(在"SQL Server 工具"程式組中單擊"在 IIS 中配置 SQL XML 支援")定義並註冊新的虛擬目錄,即所謂的虛擬根。該工具 + 生產力指示 IIS 在新的虛擬目錄和 Microsoft SQL Server 執行個體之間建立關聯。

  必須將 IIS 伺服器和虛擬目錄的名稱指定為 URL 的一部分。虛擬目錄(包括登入、密碼和存取權限)中的資訊用於建立與特定資料庫的串連並執行查詢。

  可以指定 URL:

  直接存取資料庫物件,例如表。

  在這種情況下,URL 將包括 dbobject 類型的虛擬名稱。

  執行模板檔案。

  模板是由一個或多個 SQL 陳述式組成的有效 XML 文檔。在 URL 中指定模板檔案時,將執行儲存在模板檔案中的 SQL 命令。可以直接在 URL 中指定 SQL 查詢,但考慮到安全性,不建議這樣做。

  執行 XPath 查詢。

  對指定作為 URL 一部分的帶批註的映射架構檔案執行 XPath 查詢。

  虛擬名

  若要使模板檔案、映射架構檔案或資料庫物件(如表或視圖)成為 URL 的一部分,必須建立 template、schema 和 dbobject 類型的虛擬名稱。將虛擬名稱指定為 URL 的一部分,以便執行模板檔案、對映射架構檔案執行 XPath 查詢或直接存取資料庫。

  在 URL 中指定的虛擬名稱類型(template、schema、dbobject)還用於決定在 URL 中指定的檔案類型(模板檔案或映射架構檔案)。例如,下面的 URL 使用模板訪問 SQL Server 資料庫:http://IISServer/nwind/TemplateVirtualName/Template.xml

  target=_blank>http://IISServer/nwind/TemplateVirtualName/Template.xml">http://IISServer/nwind/TemplateVirtualName/Template.xml

  TemplateVirtualName 是 template 類型的虛擬名稱,用於標識指定的檔案 (Template.xml) 是模板檔案。

  sql_server_utility>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.