Oracle データベース
まとめ
Item | 説明 |
---|---|
リリース状態 | 一般公開 |
製品 | Excel Power BI (データセット) Power BI (データフロー) Fabric (Dataflow Gen2) Power Apps (データフロー) Dynamics 365 Customer Insights Analysis Services |
サポートされている認証の種類 | Windows (デスクトップ/オンライン) データベース (デスクトップ) 基本 (オンライン) |
関数リファレンス ドキュメント | Oracle.Database |
注意
デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。
前提条件
サポートされている Oracle のバージョン:
- Oracle Server 9 以降
- Oracle Data Access Client (ODAC) ソフトウェア 11.2 以降
Power Query を使用して Oracle データベースに接続するには、コンピューターに Oracle クライアント ソフトウェア v8.1.7 以降をインストールする必要があります。 32 ビットの Oracle クライアント ソフトウェアをインストールするには、「32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio (12.1.0.2.4)」にアクセスしてください。 64 ビットの Oracle クライアントをインストールするには、「64-bit ODAC 12c Release 4 (12.1.0.2.4) Xcopy for Windows x64」アクセスしてください。
注意
お使いの Oracle サーバーと互換性のある Oracle Data Access Client (ODAC) のバージョンを選択します。 たとえば、ODAC 12.x では、必ずしも Oracle Server バージョン 9 をサポートしていません。 Oracle クライアント用の Windows インストーラーを選択します。 Oracle クライアントのセットアップ中に、セットアップ ウィザードの該当するチェック ボックスをオンにすることで、コンピューター全体のレベルで ODP.NET および/または Oracle Providers for ASP.NET の構成を有効にする必要があります。 Oracle クライアント ウィザードの一部のバージョンでは、既定でチェックボックスがオンになっていますが、他のバージョンではそうなっていません。 Power Query が Oracle データベースに接続できるように、チェックボックスがオンになっていることを確認してください。
オンプレミス データ ゲートウェイを使用して Oracle データベースに接続するには、ゲートウェイを実行しているコンピューター上に適切な Oracle クライアント ソフトウェアをインストールする必要があります。 使用する Oracle クライアント ソフトウェアは、Oracle サーバーのバージョンによって異なりますが、常に 64 ビット ゲートウェイと一致します。 詳細については、「データ ソースの管理 - Oracle」を参照してください。
サポートされる機能
- インポート
- DirectQuery (Power BI データセット)
- [詳細オプション]
- 分単位のコマンド タイムアウト
- SQL ステートメント
- リレーションシップ列を含める
- 階層全体を使ってナビゲートする
Power Query Desktop から Oracle データベースに接続する
接続するには、次の手順を実行します。
コネクタの選択で [Oracle データベース] オプションを選択します。
接続先の Oracle サーバーを [サーバー] に指定します。 SID が必要な場合、"サーバー名/SID" の形式を使用して指定します。SID はデータベースの一意の名前です。 "サーバー名/SID" の形式で正しく動作しない場合は、"サーバー名/サービス名" を使用します。"サービス名" は接続に使用した別名です。
注意
ローカル データベースまたは自律データベース接続を使用しているとき、接続エラーを避けるため、サーバー名を引用符で囲む必要がある場合があります。
Power BI Desktop から接続する場合は、 [インポート] または [DirectQuery] のデータ接続モードを選択します。 この例の残りの手順では、データ インポートの接続モードを使用します。 DirectQuery の詳細のついては、「Power BI Desktop で DirectQuery を使用する」にアクセスしてください。
この Oracle データベースに初めて接続する場合は、使用する認証の種類を選択し、資格情報を入力します。 認証の詳細については、「データ ソースを使用した認証」を参照してください。
[ナビゲーター] で、必要とするデータを選択してから、 [読み込み] を選択してデータを読み込むか、 [データの変換] を選択してデータを変換します。
Power Query Online から Oracle データベースに接続する
接続するには、次の手順を実行します。
データ ソースの選択で [Oracle データベース] オプションを選択します。
表示される [Oracle データベース] ダイアログで、接続先の Oracle サーバーを [サーバー] に指定します。 SID が必要な場合、"サーバー名/SID" の形式を使用して指定します。SID はデータベースの一意の名前です。 "サーバー名/SID" の形式で正しく動作しない場合は、"サーバー名/サービス名" を使用します。"サービス名" は接続に使用した別名です。
オンプレミス データ ゲートウェイの名前を選択します。
注意
Oracle データベースがローカル ネットワーク上にあるか Web サイト上にあるかに関係なく、このコネクタのオンプレミス データ ゲートウェイを選択する必要があります。
この Oracle データベースに初めて接続する場合は、[ 認証の種類] で接続の資格情報の種類を選択します。 Windows 認証ではなく Oracle 内で作成されたアカウントを使用する場合は、 [基本] を選択します。
資格情報を入力します。
[次へ] を選択して続行します。
[ナビゲーター] で、必要とするデータを選択してから、 [データの変換] を選択して、Power Query エディターでデータを変換します。
Oracle 自律データベースへの接続
注意
現時点では、このセクションの手順を使用して、Excel、Power BI Desktop、Power BI サービス、Power Apps から Oracle 自律データベースに接続できます。
Oracle 自律データベースに接続するには、次のアカウントとアプリが必要です。
- Oracle.com アカウント (Oracle.com アカウントの取得)
- Oracle Cloud アカウント (Oracle Cloud アカウントについて)
- Oracle 自律データベース (Oracle 自律データベース)
- Power BI Desktop (get Power BI Desktop)
- Power BI サービス アカウント (organization内のユーザーのPower BI サービスのライセンス)
- オンプレミス データ ゲートウェイ (標準ゲートウェイをダウンロードしてインストールする)
クライアント資格情報をダウンロードする
Oracle Autonomous データベースへの接続を設定する最初の手順は、クライアント資格情報をダウンロードすることです。
クライアント資格情報をダウンロードするには:
Oracle 自律データベースの詳細ページで、[ DB 接続] を選択します。
[データベース接続] ページで、[ウォレットのダウンロード] を選択します。
このウォレットで使用するパスワードを入力し、パスワードを確認して、[ ダウンロード] を選択します。
Oracle Data Access Components ランタイムをダウンロードしてインストールする
[Oracle Data Access Components Runtime Downloads]\(Oracle データ アクセス コンポーネント ランタイムのダウンロード\) ページに移動します。
64 ビット バージョンのPower BI Desktopを使用している場合は、64 ビット ODAC OUI の下で、最新バージョンの ODAC インストーラー (現在は 64 ビット ODAC 19.3.1) を選択します。 32 ビット バージョンのPower BI Desktopを使用している場合は、Oracle ページのリンクから 32 ビット バージョンのダウンロード ページに移動します。 Power BI Desktopの 64 ビット バージョンを使用することをお勧めします。 この記事の例では、64 ビット バージョンを使用します。
Oracle 使用許諾契約書を確認して同意し、[ ダウンロード] ODAC1931_x64.zip選択します。
Oracle アカウントにサインインするように求められます。 このアカウントは Oracle Cloud アカウントとは異なる場合があるため、必ず正しいユーザー名とパスワードを入力してください。
Oracle ODAC OUI zip ファイルは、Windows の既定のダウンロード場所にダウンロードされます。
既定のダウンロード場所から zip ファイルからファイルを抽出し、任意の便利なフォルダーに配置します。
管理者モードで Windows コマンド プロンプト (cmd.exe) を開きます。
コマンド プロンプトで、ODAC OUI ファイルを抽出したフォルダーに移動します。
setup.exe を実行します。
[ Oracle Home User の指定] で、[Windows 組み込みアカウントを使用する] を選択します。 [次へ] を選択します。
[ インストール場所の指定] で、Oracle ベース フォルダーの場所を選択します。 [ 参照] を 選択して使用するフォルダーを参照し、[選択] を選択 します。 [次へ] を選択します。
[ 利用可能な製品コンポーネント] で、[ Oracle Data Provider for .NET] のみを選択します。 [次へ] を選択します。
その後、インストーラーは前提条件のチェックを実行して、システムがインストールと構成の最小要件を満たしていることを確認します。 このチェックが完了したら、[次へ] を選択します。
その後、インストーラーによって、実行されるアクションの概要が表示されます。 続行するには、 [インストール] を選択します。
インストーラーがすべてのドライバー コンポーネントのインストールを完了したら、[ 閉じる] を選択します。
アンマネージド ODP.NET を構成する
コマンド プロンプトで、install-folder>\odp.net\bin\4 に<移動します。 この例では、場所は
c:\oracle\driver\odp.net\bin\4
です。次のコマンドを入力します。
OraProvCfg /action:gac /providerpath:"Oracle.DataAccess.dll"
OraProvCfg /action:config /product:odp /frameworkversion:v4.0.30319 /providerpath:"Oracle.DataAccess.dll"
環境変数を設定する
Windows の [スタート] メニューの [検索] オプションで [環境変数] を検索し、[システム環境変数の編集] を選択します。
[ システム のプロパティ] で、[環境変数] を選択 します。
[ 環境変数] の [ システム変数] で、[新規] を選択 します。
[新しいシステム変数] に「変数名」と入力し、変数値に ADB ウォレットを解凍する場所を入力
TNS_ADMIN
します。 [OK] をクリックします。[OK] を選択します。
[ 環境変数] で、[ OK] を選択します。
[ システムのプロパティ] で、[ OK] を選択します。
Oracle ADB 資格情報を構成する
Windows マシンで、Oracle ADB 資格情報をダウンロードしたフォルダーに移動します。「 クライアント資格情報をダウンロードする」を参照してください。
資格情報をフォルダーに解凍します。 この例では、資格情報が c:\data\wallet\wallet_contosomart に抽出されます。
注意
tnsnames.ora ファイルは、Oracle 自律データベースへの接続に使用されます。
メモ帳などのエディターで sqlnet.ora を開きます。
[WALLET_LOCATION] で、[ディレクトリ] オプションの下にあるウォレット フォルダーへのパスを変更します。 次の点に注意してください。
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="c:\data\wallet\Wallet_ContosoMart")))
sqlnet.ora ファイルを保存して閉じます。
wallets フォルダー内の tnsnames.ora ファイルを開きます。 ファイルには、接続先の ADB net サービス名の一覧が含まれています。 この例では、名前はcontosomart_high、contosomart_low、およびcontosomart_mediumです。 ADB のネット サービス名は異なります。
接続の初期テスト
Power BI Desktop を開きます。
[データの取得] を選択します。
[データの取得] で、[データベースOracle データベース>] を選択します。
接続する Oracle Autonomous Database サーバーの名前を入力します。 この例では、サーバーはcontosomart_high。 [OK] をクリックします。
Power BI Desktopからこのサーバーに初めてサインインする場合は、資格情報の入力を求められます。 [ データベース] を選択し、Oracle データベースのユーザー名とパスワードを入力します。 ここで入力する資格情報は、接続する特定の Oracle 自律データベースのユーザー名とパスワードです。 この例では、データベースの初期管理者ユーザー名とパスワードが使用されます。 次に、 [接続](Connect) を選択します。
この時点で、 ナビゲーター が表示され、接続データが表示されます。
構成が正しく設定されていないため、いくつかのエラーのいずれかが発生する場合もあります。 これらのエラーについては、「 トラブルシューティング」を参照してください。
この最初のテストで発生する可能性がある 1 つのエラーは 、データベースが接続されているがデータが含まれないナビゲーターで発生します。 代わりに、Oracle: ORA-28759: ファイルを開くエラーがデータの代わりに表示されます。
このエラーが発生した場合は、sqlnet.ora で指定したウォレット フォルダー パスがウォレット フォルダーへの完全で正しいパスであることを確認してください。
ゲートウェイを構成する
Power BI サービスで、右上にある歯車アイコンを選択し、[ゲートウェイの管理] を選択します。
[ データ ソースの追加] で、[ データ ソースの追加] を選択してゲートウェイを使用します。
[ データ ソース名] に、データ ソース設定として使用する名前を入力します。
[ データ ソースの種類] で [Oracle] を選択 します。
[ サーバー] に、Oracle Autonomous Database サーバーの名前を入力します。
[ 認証方法] で、[基本] を選択 します。
Oracle Autonomous Database のユーザー名とパスワードを入力します。 この例では、既定のデータベース管理者のユーザー名とパスワードが使用されます。
[追加] を選択します。
すべてが正しくインストールされ、構成されている場合は、[ 接続に成功しました ] というメッセージが表示されます。 「Power Query Online から Oracle データベースに接続する」で説明されている手順を使用して、Oracle 自律データベースに接続できるようになりました。
詳細オプションを使用して接続する
Power Query Desktop と Power Query Online には、必要に応じてクエリに追加できる一連の高度なオプションが用意されています。
次の表に、Power Query Desktop と Power Query Online で設定できるすべての詳細オプションを示します。
詳細オプション | 説明 |
---|---|
分単位のコマンド タイムアウト | 接続が 10 分 (既定のタイムアウト) を超える場合は、別の値を分単位で入力して、より長い時間接続を維持できます。 このオプションは Power Query Desktop でのみ使用できます。 |
SQL ステートメント | 詳細については、「ネイティブ データベース クエリを使用してデータベースからデータをインポートする」を参照してください。 |
リレーションシップ列を含める | オンにした場合は、他のテーブルとのリレーションシップがある列が含められます。 このボックスをオフにすると、これらの列は表示されません。 |
階層全体を使ってナビゲートする | オンにすると、接続しているデータベース内のテーブルの完全な階層がナビゲーターに表示されます。 オフにすると、ナビゲーターには、列と行にデータが含まれているテーブルのみが表示されます。 |
必要な詳細オプションを選択したら、Power Query デスクトップで [OK] を選択するか、Power Query Online で [次へ] を選択して Oracle データベースに接続します。
既知の問題と制限事項
その Oracle データベースに対するデータセットの更新後、約 30 分間、Power BI セッションを Oracle データベースでアクティブにすることができます。 約 30 分後にのみ、これらのセッションは Oracle データベースで非アクティブ/削除されます。 この動作は仕様です。
トラブルシューティング
名前付けの構文が正しくないか適切に構成されていない場合、Oracle で次のエラーが発生する場合があります。
- ORA-12154: TNS: could not resolve the connect identifier specified (指定された接続識別子を解決できませんでした)。
- ORA-12514: TNS: listener does not currently know of service requested in connect descriptor (リスナーは接続記述子で要求されたサービスを現在認識していません)。
- ORA-12541: TNS: no listener (リスナーがありません)。
- ORA-12170: TNS:Connect timeout occurred (接続のタイムアウトが発生しました)。
- ORA-12504: TNS: listener was not given the SERVICE_NAME in CONNECT_DATA (リスナーは CONNECT_DATA で SERVICE_NAME を指定されませんでした)。
このようなエラーは、Oracle クライアントがインストールされていないか、正しく構成されていない場合に発生することがあります。 インストールされている場合は、tnsnames.ora ファイルが正しく構成されていることと、正しい net_service_name を使用していることを確認します。 また、Power BI Desktop を使用しているコンピューターとゲートウェイを実行しているコンピューターの間で net_service_name が一致していることも確認する必要があります。 詳細情報: 前提条件
Oracle サーバーのバージョンと Oracle Data Access クライアントのバージョン間で互換性の問題が発生する場合もあります。 一部の組み合わせでは互換性がないため、通常はこれらのバージョンを合わせる必要があります。 たとえば、ODAC 12.x では、Oracle Server バージョン 9 をサポートしていません。
Microsoft Store から Power BI Desktop をダウンロードした場合、Oracle ドライバーの問題により Oracle データベースに接続できない可能性があります。 この問題が発生した場合、返されるエラー メッセージは、 オブジェクト参照が設定されていません。 この問題に対処するには、次のいずれかの手順を実行します。
Microsoft Store ではなく、ダウンロード センターから Power BI Desktop をダウンロードします。
Microsoft Store から取得したバージョンを使用する場合は、ご利用のローカル コンピューター上で、12.X.X\client_X から 12.X.X\client_X\bin に oraons.dll をコピーします。X はバージョンまたはディレクトリ番号を表します。
オンプレミス データ ゲートウェイを使用して Oracle データベースに接続するときに、オブジェクト 参照が設定されていない というエラー メッセージが Power BI で発生する場合は、「 データ ソースの管理 - Oracle」の手順に従います。
Power BI Report Server を使用している場合は、Oracle の接続の種類に関する記事のガイダンスを参照してください。