共用方式為


Oracle Database

Oracle資料庫是由Oracle公司開發的關聯式資料庫管理系統。 連線至內部部署 Oracle Database,以執行各種動作,例如在表格中的列上建立、更新、取得和刪除。

此連接器適用於以下產品和區域:

服務 Class Regions
副駕駛工作室 進階 所有 Power Automate 區域
邏輯應用程式 標準 所有 Logic Apps 區域, 但下列區域除外:
     - 美國國防部 (DoD)
Power Apps 進階 所有 Power Apps 區域
Power Automate(自動化服務) 進階 所有 Power Automate 區域
連絡人​​
名稱 Microsoft
URL Microsoft LogicApps 支援
Microsoft Power Automate 支援
Microsoft Power Apps 支援
連接器中繼資料
Publisher Microsoft
網站 https://www.oracle.com/database/
隱私策略 https://www.oracle.com/legal/privacy/

本文說明 Oracle Database 連接器的作業,適用於 Azure Logic Apps、Microsoft Power Apps 和 Microsoft Power Automate。 您可以使用此連接器連線至內部部署 Oracle Database 或已安裝 Oracle Database 的 Azure 虛擬機器。

有什麼新鮮事

下表說明 Oracle Databaseconnector 的新更新和功能:

Update Description
2018 年 10 月 支援 Oracle 預存程序。
2018 年 1 月 支援 Oracle 檢視作為唯讀表格。

先決條件

  • 支援的 Oracle 版本:

    • Oracle 9 及更新版本
    • Oracle Data Access Client (ODAC) 11.2 和更新版本
  • 若要連線至已安裝 Oracle 資料庫的內部部署 Oracle 資料庫或 Azure 虛擬機器,您必須 安裝內部部署資料閘道

    此閘道可作為橋接器,並在內部部署資料與應用程式或用戶端之間提供安全的資料傳輸。 您可以將相同的閘道安裝與多個服務和資料來源搭配使用,這表示您可能只需要安裝一次閘道。

  • 在您安裝內部部署資料閘道的電腦上安裝 Oracle 用戶端。 請務必從 Oracle 安裝 64 位元 Oracle Data Provider for .NET,並選取 Windows 安裝程式版本,因為該xcopy版本不適用於內部部署資料閘道:適用於 Windows x64 的 64 位元 ODAC 12c 第 4 版 (12.1.0.2.4)。 您可以執行下列 PowerShell 命令來驗證安裝: [System.Data.Common.DbProviderFactories]::GetFactoryClasses()。 如果已安裝 Oracle 用戶端,您應該會在結果中看到「OracleClient 資料提供者」。

    備註

    如果未安裝 Oracle 用戶端,當您嘗試建立或使用連線時,就會發生錯誤。 如需詳細資訊,請參閱 常見的連線錯誤一節

  • 在執行任何連接器作業之前,請在 Oracle 用戶端上將名為 ORA_NCHAR_LITERAL_REPLACE 的環境變數設定為 TRUE

    此設定 會啟用 NCHAR 字串常值取代,當包含資料庫字集以外的字元的字串常值插入 NCHAR/NVARCHAR/NCLOB 類型直欄時,可防止資料遺失。 當陳述式執行時,字串常值會轉換為內部格式,然後正確解碼為 Unicode。

已知問題與限制

下列清單說明 Oracle Datbase 連接器的一些已知限制:

  • 不支援:

    • 任何具有複合索引鍵的資料表
    • 表格中的巢狀物件類型
    • 具有非純量值的資料庫函式
    • Oracle Functions,因此不會在 UI 中列出。
  • 當您在 Oracle 伺服器上叫用預存程序時,會套用下列限制:

    • 不支援 OUT 參數。
    • 傳回值無法使用,因為預存程序不會傳回任何結果。
  • 回應大小限制為 8MB。

  • 請求大小限制為 2MB。

  • 支援 Oracle 原生查詢,但有下列限制:

    • 需要閘道版本 3000.63.4 (10 月版本) 或更新版本。
    • 不支援 RefCursor。
    • 不支援 OUT 參數。
    • 只能傳回一個結果集。
  • 下列資料類型無法作為查詢選項述詞:

    • DATE
    • TIMESTAMP
    • TIMESTAMP 與時區
    • TIMESTAMP 與當地時區
  • 如果任何 Oracle 查詢或預存程序執行時間超過 110 秒,動作會逾時。

  • 插入和更新表格不會傳回完整項目。 它們只會傳回作業的輸入屬性。

  • 若要取得 [取得資料列 ] 作業的決定性分頁結果,需要 [主索引鍵]。

  • 插入資料列作業需要您提供 [主索引鍵] 資料行的明確值,即使已定義預設/自動遞增值也一樣。

  • 由於 UI 元件限制,在設計階段轉譯的資料表清單無法顯示超過 2,048 個元素,這是 [取得資料表 ] 作業的預設頁面大小,例如:

    • 名為 'Table name' 的 [取得資料列 ] 動作參數的資料表清單。
    • Power Apps 設計工具中「建立連線/選擇資料表」流程的資料表清單。
  • 如果您在使用 Oracle 資料庫時觀察到延遲,請在閘道機器或每個閘道機器上安裝最新的 64 位 Oracle 資料存取元件 (ODAC) (如果閘道是叢集)。

  • 如果 Oracle 連線建立失敗並逾時,請嘗試使用具有最低權限的 Oracle 認證。 如此一來,連線就會更輕量級,這可能有助於您避免在建立連線期間遇到逾時。

常見的連線錯誤

錯誤:無法連線到閘道

原因:內部部署資料閘道無法連線到雲端。

風險降低:請確定您的閘道是在您安裝閘道的內部部署電腦上執行,並具有網際網路連線。 避免在可能已關閉或進入睡眠狀態的電腦上安裝閘道。 您也可以嘗試重新啟動內部部署資料閘道服務 (PBIEgwService)。

錯誤:正在使用的提供者已被取代:「System.Data.OracleClient 需要 Oracle 用戶端軟體版本 8.1.7 或更高版本。」。 請參閱 https://go.microsoft.com/fwlink/p/?LinkID=272376 安裝官方提供者。

原因:Oracle 用戶端 SDK 未安裝在執行內部部署資料閘道的電腦上。

解決方案:在與內部部署資料閘道相同的電腦上下載並安裝 Oracle 用戶端 SDK。

錯誤:資料表 '[Tablename]' 未定義任何索引鍵資料行

原因:資料表沒有主索引鍵。

解決方案:Oracle Database 連接器需要您使用具有主索引鍵資料行的資料表。

一般限制

名稱 價值觀
連接器每個連線同時處理的要求數目上限 200
每個連線同時透過連接器傳輸的 MB 數目上限 30

正在建立連線

連接器支援下列驗證類型:

預設值 建立連線的參數。 所有區域 可共用

預設

適用:所有地區

建立連線的參數。

這是可共享的連接。 如果 Power App 與其他使用者共用,也會共用連線。 如需詳細資訊,請參閱 畫布應用程式的連接器概觀 - Power Apps |Microsoft 文件

名稱 類型 Description 為必填項目
伺服器 字串 指定 Oracle 伺服器。 如果需要埠或 SID,請以 ServerName:Port/SID 的形式指定。
驗證類型 [選擇基本] 字串 連線至資料庫的驗證類型
用戶名稱 securestring 使用者名稱認證
密碼 securestring 密碼認證
Gateway 閘道設定 內部部署閘道 (請參閱更多 https://docs.microsoft.com/data-integration/gateway 詳細資料

節流限制

名稱 呼叫 續約期間
每個連線的 API 呼叫 1500 60 秒

動作

刪除列

此作業會從資料表中刪除資料列。

取得行

此作業會從資料表取得資料列。

取得表格

此作業會從資料庫取得資料表。

取得資料列

此作業會從資料表取得資料列。

執行 Oracle 查詢

執行 Oracle 查詢

執行預存程序

此作業會執行預存程式。

插入列

此作業會在表格中插入新資料列。

更新資料列

此作業會更新資料表中的現有資料列。

刪除列

此作業會從資料表中刪除資料列。

參數

名稱 機碼 必要 類型 Description
資料表名稱
table True string

表格名稱

資料列識別碼
id True string

要刪除之列的唯一識別碼

取得行

此作業會從資料表取得資料列。

參數

名稱 機碼 必要 類型 Description
資料表名稱
table True string

Oracle 資料表的名稱

資料列識別碼
id True string

要擷取之資料列的唯一識別碼

傳回

此作業會輸出隨機的結果。

取得表格

此作業會從資料庫取得資料表。

傳回

代表表格清單。

身體
TablesList

取得資料列

此作業會從資料表取得資料列。

參數

名稱 機碼 必要 類型 Description
資料表名稱
table True string

Oracle 資料表的名稱

篩選查詢
$filter string

ODATA 篩選查詢,以限制傳回的專案 (例如 stringColumn eq 'string' OR numberColumn lt 123)。

排序方式
$orderby string

ODATA orderBy 查詢,用於指定項目順序。

最高計數
$top integer

要擷取的項目總數 (預設值 = 全部)。

略過計數
$skip integer

要略過的項目數(預設值 = 0)。

選取查詢
$select string

要從項目擷取的特定欄位(預設值 = all)。

傳回

此作業會輸出隨機的結果。

執行 Oracle 查詢

執行 Oracle 查詢

參數

名稱 機碼 必要 類型 Description
Query
query True dynamic

查詢內文

傳回

此作業會輸出隨機的結果。

執行預存程序

此作業會執行預存程式。

參數

名稱 機碼 必要 類型 Description
程序名稱
procedure True string

預存程序的名稱

參數清單
parameters True dynamic

預存程序的輸入參數

傳回

此作業會輸出隨機的結果。

插入列

此作業會在表格中插入新資料列。

參數

名稱 機碼 必要 類型 Description
資料表名稱
table True string

表格名稱

Row
item True dynamic

要插入指定表格的列

傳回

此作業會輸出隨機的結果。

更新資料列

此作業會更新資料表中的現有資料列。

參數

名稱 機碼 必要 類型 Description
資料表名稱
table True string

表格名稱

資料列識別碼
id True string

要更新之列的唯一識別碼

Row
item True dynamic

具有更新值的資料列

傳回

此作業會輸出隨機的結果。

定義

Table

代表一個表格。

名稱 路徑 類型 Description
名稱
Name string

數據表的名稱。 該名稱在運行時使用。

顯示名稱
DisplayName string

資料表的顯示名稱。

動態屬性
DynamicProperties object

連接器提供給用戶端的其他資料表屬性。

表格清單

代表表格清單。

名稱 路徑 類型 Description
value
value array of Table

表格列表