SQL Server擴展存儲過程構(gòu)架的正確構(gòu)建流程
此文章主要向大家講述的是SQL Server擴展存儲過程構(gòu)架的正確構(gòu)建流程,我們大家都知道Microsoft® SQL Server™ 2000 擴展存儲過程的主要作用能使您能在動態(tài)鏈接庫 (DLL) 文件所包含的函數(shù)中實現(xiàn)邏輯,從而擴展了 Transact-SQL 的功能。
并且可以象調(diào)用 Transact-SQL 過程那樣從 Transact-SQL 語句調(diào)用這些函數(shù)。動態(tài)鏈接庫文件的文件擴展名為 .dll。擴展存儲過程可以包括 Microsoft Win32® 和 COM 應(yīng)用程序的大多數(shù)功能。
DLL 文件必須遵從擴展存儲過程 API 才能作為擴展存儲過程運行。對于 SQL Server,.dll 可以包含多個標(biāo)識為擴展存儲過程的函數(shù);每個函數(shù)都由單獨的擴展存儲過程名標(biāo)識。當(dāng) Transact-SQL 語句引用其中一個擴展存儲過程時,關(guān)系數(shù)據(jù)庫引擎調(diào)用與該擴展存儲過程名相關(guān)聯(lián)的函數(shù)。擴展存儲過程可以與調(diào)用它們的 SQL Server 實例重新建立連接,或者連接到遠程 SQL Server 安裝。
擴展存儲過程是關(guān)系數(shù)據(jù)庫引擎的開放式數(shù)據(jù)服務(wù)層的一部分,而開放式數(shù)據(jù)服務(wù)層是該引擎和服務(wù)器 Net-library 之間的接口。服務(wù)器 Net-Library 接收客戶端 TDS 數(shù)據(jù)包并將它們傳遞給開放式數(shù)據(jù)服務(wù)。開放式數(shù)據(jù)服務(wù)將 TDS 數(shù)據(jù)包轉(zhuǎn)換成事件并傳遞到關(guān)系數(shù)據(jù)庫引擎的其它部分。數(shù)據(jù)庫引擎然后使用開放式數(shù)據(jù)服務(wù),通過服務(wù)器 Net-Library 將回復(fù)發(fā)送回 SQL Server 客戶端。
當(dāng)關(guān)系數(shù)據(jù)庫引擎確定 Transact-SQL 語句引用擴展存儲過程時:
關(guān)系數(shù)據(jù)庫引擎將擴展存儲過程請求傳遞到開放式數(shù)據(jù)服務(wù)層。
然后開放式數(shù)據(jù)服務(wù)將包含擴展存儲過程函數(shù)的 DLL 裝載到 SQL Server 2000 地址空間(如果還沒有裝載)。
開放式數(shù)據(jù)服務(wù)將請求傳遞到擴展存儲過程。
開放式數(shù)據(jù)服務(wù)將操作結(jié)果傳遞到數(shù)據(jù)庫引擎。
過去,還使用開放式數(shù)據(jù)服務(wù) API 編寫服務(wù)器應(yīng)用程序,例如連接到其它數(shù)據(jù)庫系統(tǒng)的網(wǎng)關(guān)。這種應(yīng)用程序已被更新的技術(shù)取代,這些技術(shù)包括:
支持多個不同的數(shù)據(jù)庫和其它數(shù)據(jù)源(如 OLE DB 和 ODBC)的數(shù)據(jù)庫API。
寫入 OLE DB 或 ODBC API 的應(yīng)用程序幾乎不需要通過網(wǎng)關(guān)訪問不同的數(shù)據(jù)庫。
SQL Server 2000 支持異類分布式查詢,使得 Transact-SQL 查詢不必使用專門的服務(wù)器應(yīng)用程序就能從任何 OLE DB 數(shù)據(jù)源中拉出數(shù)據(jù)。
MS DTC 使分布式事務(wù)處理得以跨越多個數(shù)據(jù)庫進行。
Windows NT 組件服務(wù),用于運行中層應(yīng)用程序邏輯。
SQL Server 2000 不支持開放式數(shù)據(jù)服務(wù) API 的廢棄部分。對于原始的開放式數(shù)據(jù)服務(wù) API,SQL Server 2000 仍支持的唯一部分是擴展存儲過程,因此已將 API 重命名為擴展存儲過程 API。
以上的相關(guān)內(nèi)容就是對SQL Server擴展存儲過程構(gòu)架的構(gòu)建的介紹,望你能有所收獲
上述的相關(guān)內(nèi)容就是對SQL Server擴展存儲過程構(gòu)架的構(gòu)建的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】