使用 WCF 通道模型開發 Oracle 資料庫應用程式
您可以使用 Windows Communication Foundation (WCF) 通道模型,直接透過使用 Oracle DB 系結建立的通道實例傳送 XML 訊息,以取用 Microsoft BizTalk Adapter for Oracle Database。
使用 WCF 通道模型的其中一個優點,是使用 WCF 服務模型公開的強型別類別和方法,就是通道模型提供更精細的控制您在 Oracle 資料庫上執行的作業。 原因為何? 在 WCF 通道模型中,您可以直接控制透過通道傳送的訊息內容。
在某些情況下,這種額外的控制層級可能會有所説明。 例如,當您使用 WCF 通道模型在資料表上執行更新作業時,您可以從傳入訊息的更新範本中省略資料行,選擇性地更新目標資料列中的資料行。 WCF 用戶端所公開的更新方法會針對包含資料表架構中每個資料行的範本使用強型別記錄參數。 如果 WSDL 中的資料行具有 「nillable=false」,則必須使用 WCF 服務模型來更新它。
WCF 通道模型透過 WCF 服務模型提供的另一個重要優點是更完整的 Oracle 大型物件串流支援, (LOB) 資料類型。 藉由使用 WCF 通道模型,您可以執行端對端串流:
若要使用 UpdateLOB 作業更新資料表或檢視中的 LOB 資料行。
在 OUT 和 IN OUT 參數上,包含程式和函式所傳回的 LOB 資料。
在包含在 SQLEXECUTE 作業結果中的 LOB 資料上。
在 POLLINGSTMT 作業中傳回的 LOB 資料行上。
在資料表或檢視表上的 Select 作業所傳回的 LOB 資料行上。
這是因為在 WCF 通道模型中,您會直接控制如何在傳出訊息上提供訊息本文,以及如何處理傳入訊息的訊息本文。
相反地,WCF 服務模型只提供:
一個作業上 LOB 資料的端對端串流,讀取LOB 作業。
無法以串流方式更新 Oracle 資料庫上的 LOB 資料。
本主題中的各節說明如何使用 WCF 通道模型在 Oracle 資料庫配接器上執行作業。