BizTalk Adapter for Oracle Database 的主要功能
本節列出 Microsoft BizTalk Adapter for Oracle Database 中的新功能和已被取代的功能。
技術相關功能
功能 | 註解 |
---|---|
連線到 Oracle 資料庫的新方式 | 除了使用 tnsnames.ora 檔案中的 net 服務名稱連線到 Oracle 資料庫, (如舊版配接器) 一樣,配接器用戶端現在也可以藉由指定連接參數直接連線到 Oracle 資料庫,因此不需要使用 net 服務名稱或 tnsnames.ora 檔案。 當您在環境中新增或更新 Oracle 伺服器時,不需要 tnsnames.ora 檔案連線到 Oracle 資料庫,即可避免手動更新連線參數 (net 服務名稱) 。 如需詳細資訊,請參閱 建立 Oracle 資料庫的連線。 |
支援 Windows 驗證 | 配接器用戶端可以使用 Windows 驗證來連線到 Oracle 資料庫。 Windows 驗證可讓您根據 Windows 登入認證來判斷使用者的身分識別,因此可協助您利用 Windows 環境的內建安全性。 如需 Oracle 資料庫配接器中 Windows 驗證的詳細資訊,請參閱 使用 Windows 驗證連線到 Oracle 資料庫。 |
作業相關功能
功能 | 註解 |
---|---|
支援在 Insert 作業中指定內嵌值 | 您可以使用 Insert 作業中的 InlineValue 屬性,將計算值插入 Oracle 資料庫中的資料表或檢視中。 這是選擇性屬性,可用於多個記錄 Insert 作業中的所有簡單資料記錄。 如果您指定這個屬性的值,它會覆寫記錄的指定值。 如需 InlineValue 屬性的詳細資訊,請參閱 在 Oracle 資料表和檢視上插入、更新、刪除和選取作業。 |
增強輪詢 | Oracle 資料庫配接器現在支援使用預存程式、函式或封裝程式或函式來定期輪詢 Oracle 資料庫,接收「輪詢型」資料變更訊息。 除了 SELECT 語句之外,您現在可以指定預存程式、函式或封裝程式或函式做為配接器定期執行的輪詢語句,以輪詢 Oracle 資料庫。 如需輪詢的詳細資訊,請參閱 支援接收輪詢型資料變更訊息。 |
支援 Oracle User-Defined 類型 (UDT) | Oracle 資料庫配接器支援在 Oracle 資料庫中包含 Oracle UDT 的成品上執行作業。 如需 UDT 支援的相關資訊,請參閱 Oracle 資料庫中的 Oracle User-Defined 類型支援。 |
支援複合作業 | Oracle 資料庫配接器可讓配接器用戶端在 Oracle 資料庫上執行複合作業。 複合運算可以包含下列任何數目的作業,並依任何順序: - 資料表和檢視的作業。 - 介面卡中顯示為作業的封裝內的預存程式、函式和程式或函式。 如需複合作業的詳細資訊,請參閱 複合作業的訊息架構。 |
支援在使用者未擁有的架構中執行預存程式 | Oracle 資料庫配接器可讓您在架構中執行預存程式,即使目前的使用者不是架構的擁有者,前提是使用者在 Oracle 中具有架構的許可權。 不過,如果預存程式使用 RECORD 類型,則必須在與預存程式相同的架構中定義它們。 如需使用 Oracle 資料庫配接器執行預存程式的相關資訊,請參閱 Functions 和預存程式的作業。 |
支援資料庫變更通知 | 配接器用戶端可以根據觸發的 SELECT 語句,從 Oracle 資料庫接收資料庫變更通知。 Oracle 資料庫會將通知傳送至配接器用戶端,當 SELECT 語句的結果集變更時。 如需資料庫變更通知的詳細資訊,請參閱 接收資料庫變更通知的考慮。 |
支援同義字 | 配接器用戶端可以在針對資料表、檢視、預存程式、函式和套件建立的同義字上執行作業。 如需同義字的相關資訊,以及如何使用 Oracle 資料庫配接器對同義字執行作業,請參閱 Oracle 資料庫中同義字的作業。 |
支援布林參數和 PL/SQL 資料表類型 | 配接器用戶端可以在包含布林參數和 PL/SQL 資料表類型的預存程式和函式中執行作業。 |
其他功能
功能 | 註解 |
---|---|
在 BizTalk Server 中使用配接器的新方式 | Oracle 資料庫配接器可用於 BizTalk 中作為 WCF-Custom 埠或 WCF-OracleDB 埠。 如果您想要透過 WCF-Custom 埠使用 Oracle 資料庫配接器,則不需要將 WCF-Custom 埠新增至 BizTalk Server 管理主控台,因為預設會將 WCF-Custom 埠新增至 BizTalk Server 管理主控台。 不過,如果您想要透過 WCF-OracleDB 埠使用 Oracle 資料庫配接器,您必須先將 WCF-OracleDB 配接器新增至 BizTalk Server 管理主控台。 如需詳細資訊,請參閱將 Oracle 資料庫配接器新增至 BizTalk Server 管理主控台。 |
Oracle 配接器中已被取代的功能
下表列出目前版本的 Oracle 資料庫配接器中已被取代的功能。
功能 | 註解 |
---|---|
繫結屬性 |
PollingRetryCount、TransactionIsolationLevel和LongDataTypeColumnSize系結屬性已被取代。 注意 若要設定輸入作業的交易隔離等級,您必須在設定接收埠時新增服務行為來設定適當的值。 如需如何設定交易隔離等級的指示,請參閱 設定交易隔離等級和交易逾時。 |
記事的變更
一般
IN OUT REF CURSOR 類型的參數
如果預存程式內沒有 REF CURSOR 值的變更,輸出的值與輸入 REF CURSOR 中的值相同。
REF CURSOR 中的輸入和輸出資料的類型相同。
「nil」 屬性的行為不正確:針對所有單一資料型別,如果您將 nil 屬性的值設定為 「true」,且欄位或參數的值存在,則 Oracle 資料庫配接器會不正確地傳遞指定的值,而不是 Null。 因應措施是,如果您想要傳遞欄位或參數的 Null 值,您必須確定未指定欄位或參數的值。 例如,若要為名為 「name」 的欄位傳遞 Null 值:
<name xsi:nil="true"/>
[實際]、[浮點數] 和 [Long] 資料類型,以及在 Select 作業結果集中的值結尾 (0) 的額外零不會截斷 。 此外,Select 作業的結果集一律會針對 Real、Float 和 LONG 資料型別傳回有效位數 8 的值。
RECORD 類型的資料處理:針對這些節點傳遞的值取決於 SkipNilNodes 系結屬性的值。 如需此系結屬性的詳細資訊,請參閱 設定 Oracle 資料庫的系結屬性。
輸出作業:輸入 XML 檔案中沒有指定值的參數不會傳送任何值。 如果在預存程式中指定預設值,Oracle 資料庫會使用該值,因為配接器未傳送任何值。 如果需要傳送 Null 值,使用者必須將 「nil」 屬性值設定為 「true」,在輸入 XML 檔案中指定 Null 節點。
支援命令逾時。
UpdateLOB 作業必須作為交易的一部分執行。 若要確保這樣做, UseAmbientTransaction 系結屬性的值必須設定為 True。
BizTalk 案例
輸出作業:如果 UseAmbientTransaction 系結屬性為 「True」,則 Oracle 資料庫和 BizTalk MessageBox 資料庫的作業會在相同的分散式交易內執行。 如需 Oracle 資料庫配接器中交易的詳細資訊,請參閱 使用 Oracle 資料庫配接器處理交易。
輸入作業:您無法使用 BizTalk Server 中的 Request-Response 接收埠,使用 Oracle 資料庫配接器進行輸入作業。 只能使用 One-Way 接收埠。
其他案例
輸出作業:配接器不會起始交易。 如果使用者想要在相同的交易內插入多個資料列,則使用者必須負責在 System.Transactions 交易範圍內執行作業。 使用者也需要將 UseAmbientTransaction 屬性的值設定為 True。 如需 Oracle 資料庫配接器中交易的詳細資訊,請參閱 使用 Oracle 資料庫配接器處理交易。
輸出作業:在相同 IRequestChannel/proxy 物件上執行的 Sll 作業可能不會在與 Oracle Database 的相同實體連線上執行。
WCF 通道模型:Oracle 資料庫配接器在使用 WCF 通道模型時不支援 IReplyChannel。 不過,您可以使用 IInputChannel 來執行輸入作業。 此外,關於交易,配接器依賴 WCF 發送器起始的交易來執行輪詢語句,並針對 Oracle 資料庫張貼輪詢語句。 在 ServiceBehavior 中設定適當的值,即可控制交易隔離等級和 WCF 發送器起始交易逾時。