程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 通過HTTP訪問SQLServer2000

通過HTTP訪問SQLServer2000

編輯:關於SqlServer
 一、建立訪問SQL Server 2000的虛擬目錄
  
    在通過HTTP訪問SQL Server 2000數據庫之前,你必須設置一個適當的虛擬目錄。利用SQL Server工具集中IIS虛擬目錄管理器 (在SQL Server Tools程序組中點擊Configure SQL XML Support啟動該工具)在運行IIS的機器上定義並注冊一個新的虛擬目錄。 該工具指導IIS在虛擬目錄與SQL Server實例之間建立關聯。
  
    IIS 服務器的名字與虛擬目錄必須作為URL的一部分。虛擬目錄的信息(包括登錄名、口令和訪問權限)用於建立與指定數據庫的連接並執行查詢。 URL可被定義為:
     
   直接訪問數據庫對象,例如表。    
   執行模板文件。     
   執行XPath查詢。
  
    建立XML虛擬目錄示例
  
    該示例演示建立一個訪問SQL Server 2000的IIS虛擬目錄的全過程:
  
    1、在Microsoft SQL Server程序組點擊Configure SQL XML Support in IIS。
    2、展開一個服務器,然後點擊一個WEB站點。
    3、在選擇的WEB站點上單擊右鍵,將鼠標移至“新建(N)”,點擊“Virtual Directory”。
    4、在New Virtual Directory PropertIEs的General頁輸入虛擬目錄名。在此例中,輸入XML及物理路徑  (例如C:InterpubWwwrootxml,假設你已在C:InterpubWwwroot目錄中建立XML子目錄)。你也可使用Browse按鈕選擇一個目錄。
    5、在Security頁,選擇SQL Server並輸入合法的SQL Server登錄信息。
    6、在Data Source頁,在SQL Server框中,輸入服務器名,例如“(local)”,當服務器上存在多個SQL Server實例時,還需指定實例名。在Database框,輸入默認數據庫名,如test,假如你的服務器上有這個名稱的數據庫。
    7、在Settings頁,選擇Allow URL queries,Allow template querIEs,Allow XPath及Allow POST選項。
    8、在Virtual Names頁,點擊New為template(模板)建立虛擬目錄。
      在Virtual Name Configuration對話框的Virtual name框中輸入template(或其他名字)。在Type列表 中,選擇template。輸入路徑(例如:C:InetpubWwwrootXML emplate,假設已建立該目錄。)點擊Save保存虛擬目錄名。
    9、其他類型如object、schema的虛擬目錄建立同上。
    10、點擊O 4嫔柚謾?
  
    如此,建立了一個XML虛擬目錄。為測試該虛擬目錄,浏覽器地址欄輸入
    http://$#@60;IISServer$#@62;/XML?sql=SELECT*FROM+Sysobjects+WHERE+xtype=
      "u"+FOR+XML+AUTO&root=root並回車。
  
    注意:
    為防止不希望的訪問,建議為該目錄建立一個專門的SQL Server登錄帳號,並取消該帳號所有不必要的權限,尤其是DELETE、DROP、CREATE PROC權限, 最好禁止在該虛擬目錄直接執行SQL語句。永遠不要將SA帳號作為該虛擬目錄的登錄帳號。
  
    二、利用HTTP執行SQL語句
  
    Microsoft SQL Server 2000可通過在URL中執行查詢直接訪問(假如注冊虛擬目錄時選擇了允許URL查詢)。客戶端可通過HTTP的GET和POST方法提交請求。
  
    示例
    在下述例子中,XML是用於訪問test數據庫的虛擬目錄。
    在查詢示例中,如果查詢返回多個元素,根元素可通過以下方法之添加:
    
   在查詢前添加SELECT "$#@60;ROOT$#@62;",並在其後添加SELECT "$#@60;/ROOT$#@62;"。   
   傳遞一個root關鍵字作為查詢的參數,其值為ROOT(或其他任何值)
  
    1、定義一個簡單查詢
    下例返回數據庫test中所有用戶定義表的名字及建立日期。
    http://IISserver/XML?sql=select+name,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved