共用方式為


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 資料庫配接器中已被取代的功能。

功能 註解
繫結屬性 PollingRetryCountTransactionIsolationLevelLongDataTypeColumnSize系結屬性已被取代。

注意 若要設定輸入作業的交易隔離等級,您必須在設定接收埠時新增服務行為來設定適當的值。 如需如何設定交易隔離等級的指示,請參閱 設定交易隔離等級和交易逾時

記事的變更

一般

  • 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 發送器起始交易逾時。

另請參閱

瞭解 Biztalk Adapter for Oracle Database