使用 Power BI Desktop 連線至 Oracle 資料庫

若要使用 Power BI Desktop 連接到 Oracle 資料庫,則執行 Power BI Desktop 的電腦上必須安裝正確的 Oracle 用戶端軟體。 您使用的 Oracle 用戶端軟體取決於已安裝的 Power BI Desktop 版本:32 位元或 64 位元。 其也取決於 Oracle Server 版本。

支援的 Oracle 版本:

  • Oracle Server 9 與更新版本
  • Oracle Data Access Client (ODAC) 軟體 11.2 或更新版本

使用 Power BI 連線到 Oracle 資料庫之前,您必須在電腦上安裝 Oracle Data Access Client (ODAC) 軟體 11.2 或更新版本。 若要安裝 32 位的 ODAC 軟體,請移至 32 位 Oracle 資料存取元件 (12.1.0.2.4) 或選擇您偏好的版本。 若要安裝 64 位的 ODAC 軟體,請移至 64 位 Oracle 資料存取元件 (12.1.0.2.4) 或選擇您偏好的版本。 您必須選擇 Windows Installer 版本,因為 x-copy 版本不適用於 Power BI Desktop。

從 Oracle 讀我檔案:

「從 ODAC 18c 開始,不再支援全機器設定。 系統管理員仍然可以將 ODP.NET 放在 GAC 中,並在想要覆寫個別應用程式的 ODP.NET 設定時手動新增組態區段處理常式和 DbProviderFactory 資訊,以手動方式machine.config。

安裝 Oracle 18.x/19.x 之後,客戶必須遵循這裡的指示:註冊適用于 Power BI Desktop 的 Oracle 驅動程式

如果您要為 Power BI Desktop、內部部署資料閘道或Power BI 報表伺服器設定 Oracle 資料庫,請參閱Oracle 連線類型一文中的資訊。

判斷您已安裝的 Power BI Desktop 版本

若要判斷安裝的Power BI Desktop版本,請在 [說明] 功能區上選取 [關於],然後檢查[版本] 行。 在下圖中,已安裝 64 位元版本的 Power BI Desktop:

Power BI Desktop 版本

安裝 Oracle 用戶端

注意

選擇與 Oracle Server 相容的 Oracle 資料存取用戶端 (ODAC) 版本。 例如,ODAC 12.x 不一定都支援 Oracle Server 第 9 版。 選擇 Oracle 用戶端的 Windows Installer。 在設定 Oracle 用戶端期間,請務必在安裝精靈期間選取對應的核取方塊,以啟用「在全機器層級設定適用於 ASP.NET 的 ODP.NET 和/或 Oracle 提供者」。 有些 Oracle 用戶端精靈版本根據預設會選取核取方塊,其他則否。 請務必確認已選取核取方塊,讓 Power BI 能夠連線到 Oracle 資料庫。

連接到 Oracle 資料庫

安裝相符的 Oracle 用戶端驅動程式之後,您可以連接到 Oracle 資料庫。 若要使用 內部部署資料閘道連線到 Oracle 資料庫,必須在執行閘道的電腦上安裝正確的 Oracle 用戶端軟體。 您所使用的 Oracle 用戶端軟體取決於 Oracle 伺服器版本,但一律符合 64 位元閘道。 如需詳細資訊,請移至 管理您的資料來源 - Oracle

Power BI Desktop 的 64 位元和 32 位元驅動程式

Power BI Desktop 使用非受控 ODP.NET 來撰寫 Power BI 報表。 使用 Oracle ODAC 12.2 之後的驅動程式時,您只需要採取下列步驟。 針對 ODAC 12.2 和先前的驅動程式,當您安裝 ODAC 時,您可以選擇自動在全機器層級包含 Unmanaged ODP.NET 的設定。

下列兩節中的步驟假設您已將 ODAC 18.x 檔案安裝至 Power BI Desktop 64 位版本的 c:\oracle64 資料夾,或 32 位版本的 c:\oracle32 資料夾Power BI Desktop。 請遵循下列步驟來註冊 Unmanaged ODP.NET

64 位元 Power BI Desktop

  1. 在 Oracle 下載網站上,安裝 Oracle 64-bit ODAC Oracle Universal Installer (OUI)。

  2. 向 GAC 註冊 ODP.NET 受控用戶端:

    C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

  3. 將 ODP.NET 非受控用戶端項目新增至 machine.config:

    C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odp /frameworkversion:v4.0.30319 /providerpath:C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

32 位元 Power BI Desktop

  1. 在 Oracle 下載網站上,安裝 Oracle 32-bit ODAC Oracle Universal Installer (OUI)

  2. 向 GAC 註冊 ODP.NET 受控用戶端:

    C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

  3. 將 ODP.NET 非受控用戶端項目新增至 machine.config:

    C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odp /frameworkversion:v4.0.30319 /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

支援的功能

  • 匯入
  • DirectQuery
  • 進階選項
    • 以分鐘為單位的命令逾時
    • SQL 陳述式
    • 包含關聯性資料行
    • 使用完整階層架構巡覽

請採取下列步驟建立連線:

  1. 在 [ 首頁] 功能區上,選取 [ 取得資料]。

  2. 從顯示的 [取得資料] 視窗,依序選取 [更多] (如有必要) 和 [資料庫]>[Oracle 資料庫],然後選取 [連接]。

    Oracle 資料庫連接

  3. 在顯示的 [Oracle 資料庫] 對話方塊中,提供 [伺服器] 的名稱,然後選取 [確定]。 如果需要 SID,請使用以下格式加以指定:ServerName/SID,其中 SID 是資料庫的唯一名稱。 如果 ServerName/SID 格式沒有用,請使用 ServerName/ServiceName,其中 ServiceName 是用來連接的別名。 如需更多連接字串屬性,請參閱 這裡

    輸入 Oracle 伺服器名稱

    注意

    如果您使用本機資料庫或自發資料庫連線,您可能需要將伺服器名稱放在引號中,以避免發生連線錯誤。

  4. 選取 [ 入] 或 [ DirectQuery ] 資料連線模式。 這些範例步驟的其餘部分會使用匯入資料連線模式。 若要深入瞭解 DirectQuery,請移至在 Power BI Desktop中使用 DirectQuery

  5. 如果您想要使用原生資料庫查詢來匯入資料,請將您的查詢放在展開 [Oracle 資料庫] 對話方塊的 [進階選項] 區段時所顯示 [SQL 陳述式] 方塊中。 Power BI Desktop不支援在 「begin ... 」 中執行預存程式和 Oracle 原生查詢的 Oracle 原生查詢end「 區塊不會傳回任何結果集。

    展開 [進階選項]

  6. 在 [Oracle 資料庫] 對話方塊中輸入 Oracle 資料庫資訊之後 (包括任何選擇性資訊,例如 SID 或原生資料庫查詢),請選取 [確定] 進行連接。

  7. 如果 Oracle 資料庫需要資料庫使用者認證,出現提示時,請在對話方塊中輸入這些認證。

疑難排解

當命名語法不正確或未正確設定時,可能會遇到來自 Oracle 的任一種錯誤:

  • ORA-12154:TNS:無法解析指定的連接識別碼。
  • ORA-12514:TNS:listener 目前不知道連線描述元中所要求的服務。
  • ORA-12541:TNS:沒有任何接聽程式。
  • ORA-12170:TNS:發生連接逾時。
  • ORA-12504:TNS:listener 未在 CONNECT_DATA 中指定SERVICE_NAME。

若未安裝或未正確設定 Oracle 用戶端,便可能會發生這些錯誤。 若已安裝,請驗證 tnsnames.ora 檔案已正確設定,且您使用的是適當的 net_service_name。 您也必須確定使用 Power BI Desktop 的電腦與執行閘道的電腦所使用的 net_service_name 相同。 如需詳細資訊,請參閱安裝 Oracle 用戶端

您也可能遇到 Oracle Server 版本與 Oracle 資料存取用戶端版本之間的相容性問題。 一般而言,因為某些組合不相容,所以您會希望這些版本能夠相符。 例如,ODAC 12.x 不支援 Oracle Server 9 版。

若您從 Microsoft Store 下載了 Power BI Desktop,則可能因 Oracle 驅動程式問題,而無法連線到 Oracle 資料庫。 若您發生此問題,會傳回錯誤訊息:「未設定物件參考」。 這是 Oracle 驅動程式在 Windows UWP Apps 中運作方式的問題。 若要解決此問題,您必須執行下列動作:

  • 下載中心 (而不是 Microsoft Store) 下載 Power BI Desktop。

如果您在連接到 Oracle 資料庫時,於 Power BI Gateway 中看到錯誤訊息「未設定物件參考」,請遵循管理您的資料來源 - Oracle 中的指示進行。

如要使用 Power BI 報表伺服器,請參閱 Oracle 連線類型一文中的指引。

連線到 Oracle 資料庫時,如果任何基礎檢視或查詢使用具有地區設定特定行為的函式 (,例如 或 TO_CHAR) , TO_DATE Oracle 用戶端可能需要正確設定國家語言支援。 在 Windows 上, NLS_LANG 參數可以在登錄路徑 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\<KEY_HOME_NAME> 下設定。 如需詳細資訊,請參閱 Oracle 文件 (英文)。 如果您使用Power BI Gateway連線到 Oracle, NLS_LANG 則必須在安裝閘道和 Oracle 用戶端的電腦上更新登錄中的設定。