除了xml 技術之外,microsoft sql server 2000 的開發者們也把通過http 訪問的特性(http access9 作為sql server 2000 的乙個核心特性。這樣使用者完全可以把sql server 放到乙個url 上了,從而保證開發人員和潛在的終端使用者都能簡單地通過乙個url 來訪問sql server。 本節我們主要介紹以下三個問題: 如何建立虛擬目錄 http 的語法 http 的訪問能力 20.4.1 建立虛擬目錄
在使用http 訪問sql server 2000 資料庫前必須首先利用iis 專門為sql server 提供的虛擬目錄管理器來建立虛擬目錄(virtual directory), 同時確保使用的作業系統支援iis 伺服器。建立虛擬目錄其主要目的就是在sql server 例項與新建立的虛擬目錄之間建立新的連線。下面以乙個具體的例子來介紹建立虛擬目錄要執行哪些步驟。
(1) 在sql server tool 程式單中選擇configure sql xml support in iis 選項。
(2) 開啟要建立虛擬目錄的伺服器圖示,然後選擇管理站點圖示。右擊該圖示在彈出選單中選擇new ,單擊virtual directory。
(3) 選中general 標籤頁,如圖20-3 所示。
(5) 選中security 標籤頁,如圖20-4 所示。
該標籤頁用來定義登入的認證方法,共在三種iis 認證模式。 always log on as
windows 和sql server 帳號與iis 認證安全的匿名訪問模式相匹配。匿名訪問是指任何人都可以訪問虛擬目錄,但是訪問伺服器的任何乙個客戶都必須提供正確的帳號和口令才能夠登入成功。其中sql server 選項表示當指定sql server 登入時,虛擬目錄的所有使用者都可以使用該sql server 登入帳號;windows 選項表示為所有使用該虛擬目錄的使用者指定乙個windows 帳號,在預設情況下使用安裝iis 時的預設使用者iusr_servername。
該選項表示使用windows nt 或windows 2000 的iis 認證方法,即合法的 windows nt 或windows 2000 使用者才具有訪問虛擬目錄的許可權。該訪問模式要求 windows 使用者也具有訪問sql server 的許可權。 use basic authentication (clear text) to sql server account
該選項是指通過sql server 登入和口令來進行安全認證。本認證模式與iis 的基本認證模式不同。我們可以使用匿名認證。 (6) 選中data source 標籤頁,如圖20-5 所示。在data source 標籤頁主要完成兩個任務,其一是選擇乙個sql server 2000 執行實體,其二選擇包含在該實體內且被http 訪問的資料庫。在本例中選擇pubs 資料庫。
(7) 選中setting 標籤頁,如圖20-6 所示。 setting 標籤頁用來確定將使用何種sql server 2000 訪問型別來通過虛擬目錄進行資料訪問。應該指出模板(template) 檔案和模式(schema) 檔案可以儲存在任何地方。 allow url queries
表示直接在url 中執行sql 查詢,但是考慮到訪問的安全性我們建議不使用該選項。 allow template queries
表示在url 中執行已存在的模板檔案。模板是合法的xml 文件,包括乙個或多個sql 查詢。在預設情況下使用該選項。 allow xpath
表示直接在url 中對注釋匹配模式進行查詢。
該標籤頁主要用來定義虛擬名稱。在url 中只能使用虛擬名稱,基於安全考慮,任何關於執行的物件以及檔案的儲存位置等資訊都被隱藏。 defined virtual names 表示在訪問網路資源時將要用到的虛擬名稱。比如通過http://iisserver/virtualroot/ temvir/可以訪問位於virtualroot 虛擬目錄下的temvir。 type 指出要建立的虛擬名稱屬於哪乙個查詢型別。 dbobject 表示查詢的是資料庫物件。 schema 表示對匹配模式執行xpath 查詢。 template 表示模板檔案中的sql 查詢。 path 指出模板或模式所在的目錄路徑,該路徑可以是相對路徑也可以是絕對路徑。如果查詢型別為dbobject, 則不需指明路徑。該路徑可以指資料夾(虛擬名稱)的路徑也可以指一檔案路徑。如果指資料夾(虛擬名稱)的路徑,則在url 中必須加上檔案的名稱。例如: http://iisserver/virtualroot/ temvir/sample.xml (9)選中advanced 標籤頁,如圖20-8 所示。
advanced 標籤頁主要是用來指定sqlisapi.dll 存放的位置,通過虛擬目錄訪問 sql server 2000 實體時需要使用該檔案。如果虛擬目錄被建立於遠端伺服器上,則必須提供存放位置。在預設情況下sqlisapi.dll 檔案被安裝於filescommon filessystemole db 目錄下。
20.4.2 http 的訪問能力
在sql server 2000 中,http 的訪問能力得到了明顯的提高使用者,不僅可以在 url 中直接輸入sql 語句或儲存過程,而且能夠在url 中加入模板檔案或進行 xpath 查詢。在詳細介紹這些訪問方法之前首先讓讀者了解http 的語法。
3 在url 中使用模板
雖然在url 中直接執行sql 語句有著簡單、快速的優點,但是目前這種方式在大部分網際網路環境中都是不合適的。因為開發者不會希望使用者書寫或是看到sql 語句,因為這可能洩露訪問開發者資料庫的內部機制。出於安全原因,開發者顯然不會希望這樣。因此對於開發人員來說更好的選擇就是允許通過url 來訪問指定伺服器端的xml 模板。這雖然提供了對sql server 的直接訪問但是實際已把sql select 語句或xpath 查詢請求隱藏在了xml 模板中。因此許多中間層**的使用和資料庫互動過程就不必要了。以此方法,可以簡便快速地把資料庫放置到網路上。這也是sql server 為開發人員提供的一種更快捷地跟上市場需要的方法。
MS SQL入門基礎 SQL 變數
transact sql中可以使用兩種變數,一種是區域性變數 local variable 另外一種是全域性變數 global variable 4.4.1 區域性變數 區域性變數是使用者可自定義的變數,它的作用範圍僅在程式內部。在程式中通常用來儲存從表中查詢到的資料,或當作程式執行過程中暫存變數使...
MS SQL入門基礎 刪除索引
8.4.1 用enterprise manager 刪除索引 在enterprise manager 中可以從如圖8 9 所示的索引管理對話方塊或如圖8 14 所示的表的屬性對話方塊中選擇要刪除的索引,再選 delete 按鈕來刪除索引。8.4.2 用drop index 命令刪除索引 drop i...
MS SQL入門基礎 sql作業
作業是指被定義的多步執行的任務,每一步都是可能執行的transact sql 語句,代表乙個任務。作業是典型的規劃任務和自動執行任務。資料庫的備份和恢復 資料的複製 資料的匯入 匯出等都可以被定義成作業,然後在規劃的時間由sql server agent 來自動完成。建立乙個作業的執行步驟為 1 啟...