使用 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 用戶端 (ODAC) 軟體11.2 或更高版本

在您可以使用 Power BI 連接到 oracle 資料庫之前,您必須在電腦上安裝 oracle Data Access Client (ODAC) software 11.2 或更新版本。 若要安裝32位的 ODAC 軟體,請移至 32 位 Oracle Data Access Components (12.1.0.2.4) 或選擇您慣用的版本。 若要安裝64位的 ODAC 軟體,請移至 64 位 Oracle Data Access Components (12.1.0.2.4) 或選擇您慣用的版本。 您必須選擇 windows installer 版本,因為 xcopy 版本無法搭配 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 和更新版本時,才需要執行下列步驟。 否則,預設會對新 Oracle 主目錄的非電腦全域組態安裝這些驅動程式。 這些步驟假設您已將 ODAC 18.x 檔案安裝至 c:\oracle64 資料夾 (適用於 64 位元 Power BI Desktop) 或 c:\oracle32 資料夾 (適用於 32 位元 Power BI Desktop)。 遵循這些步驟來註冊非受控 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 不支援在「開始 ...」中執行預存程式和 oracle 原生查詢的 oracle 原生查詢end "block 不會傳回任何結果集。

    展開 [進階選項]

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

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

疑難排解

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

  • ORA-12154:TNS:無法解析指定的連接識別碼。
  • ORA-12514:TNS:接聽程式目前不了解連接描述元中要求的服務。
  • ORA-12541:TNS:沒有任何接聽程式。
  • ORA-12170:TNS:發生連接逾時。
  • ORA-12504:TNS 接聽程式在 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 應用程式中的運作方式問題。 若要解決此問題,您必須執行下列動作:

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

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

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

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