次の方法で共有


トラブルシューティング

次のセクションでは、Power Query SAP HANA コネクタの使用中に発生する可能性のあるいくつかの問題と、考えられる解決策について説明します。

既知の問題と制限事項

SAP HANA を使用する場合、次に示すいくつかの制限があります。

  • NVARCHAR 文字列は、Unicode 文字の最大長 4000 文字に切り詰められます。
  • SMALLDECIMAL はサポートされていません。
  • VARBINARY はサポートされていません。
  • 有効な日付は 1899/12/30 から 9999/12/31 までです。

エラー: このコネクタでは、1 つ以上の追加のコンポーネントをインストールする必要があります

このコネクタはレジストリでドライバーを探すため、ドライバーが正しくインストールされていない場合は、表示されません。

レジストリ キーは次のとおりです。

HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers

64 ビット コンピューターを使用しているが、Excel または Power BI Desktop が 32 ビットである場合 (以下のスクリーンショットのように)、次のように、代わりに WOW6432 ノードでドライバーを確認できます。

HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC\ODBCINST.INI\ODBC Drivers

ドライバーは、Excel または Power BI Desktop のビット バージョンと一致する必要があります。 使用しているものに応じて次のようにします。

  • 32 ビット Excel/Power BI Desktop を使用している場合、32 ビット ODBC ドライバー (HDBODBC32) が必要です。
  • 64 ビット Excel/Power BI Desktop を使用している場合、64 ビット ODBC ドライバー (HDBODBC) が必要です。

ドライバーは通常、hdbsetup.exe を実行してインストールします。

最後に、ドライバーは "ODBC DataSources 32 ビット" または "ODBC DataSources 64 ビット" として表示される必要もあります。

SAP HANA ODBC ドライバーのトレースを収集する

SAP HANA トレースをキャプチャするには、次のようにします。

  1. コマンド ライン ウィンドウを開きます。

  2. インストールによっては、C:\Program Files (x86) ではなく C:\Program Files に移動する必要があります。 コマンドも、hdbodb_cons32.exe ではなく、hdbodbc_cons.exe の場合があります。

  3. 次のコマンドを入力します。

    cd C:\Program Files (x86)\sap\hdbclient
    hdbodbc_cons32.exe config trace api on
    hdbodbc_cons32.exe config trace sql on
    hdbodbc_cons32.exe config trace debug on
    hdbodbc_cons32.exe config trace short on
    hdbodbc_cons32.exe config trace packet 99999999999999
    hdbodbc_cons32.exe config trace filename D:\tmp\odbctraces\hana-%p.html
    hdbodbc_cons32.exe trace refresh
    hdbodbc_cons32.exe すべて表示

  4. Power BI を開き、キャッシュをクリアして、シナリオを再実行します。

  5. 完了したら、次のようにトレースを zip 圧縮します。

    • ODBC データ ソース アドミニストレーターの [トレース] タブの [ログ ファイルのパス] から。
    • コマンド hdbodbc_cons32.exe config trace filename を使用して構成されたパスに基づく HANA トレースから。
  6. 次のコマンドを使用してトレースを無効にします。

    hdbodbc_cons.exe trace off

SAP HANA トレースをキャプチャする際、次の考慮事項に注意してください。

  • トレース コマンドは、SAP HANA サーバーにアクセスする Mashup プロセスを実行するユーザーとして実行する必要があります。
  • 指定するトレース ファイル パスは、Mashup プロセスを実行するユーザーが書き込める必要があります。

次に例を示します。

  • ゲートウェイから SSO 以外の接続をキャプチャするには、ゲートウェイ サービス ユーザーを使用するようにしてください。 つまり、hdodbc_cons.exe 呼び出しを実行する場合は、コマンド ライン ウィンドウをゲートウェイ ユーザーとして実行します。 ゲートウェイ サーバー ユーザーが、指定したログ ファイルの場所に書き込めることを確認します。
  • ゲートウェイから SSO 接続をキャプチャするには、SSO ユーザーを使用します。

SAP HANA: 十分な特権がありません

このメッセージの原因として、以下が考えられます。

  • アクセスしようとしているビューに対する十分な特権をユーザーが正当に持っていない。

  • 次の既知の問題。

    問題: SAP クライアント 2.0 37.02 を使用して PBI Desktop から SAP HANA に接続できないが、クライアント バージョンを 1.00.120.128 にダウングレードすると動作します。

    ERROR MESSAGE: External error: ERROR [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;258 insufficient privilege: [2950] user is not authorized

    • SAP からの応答は次のとおりです。

      既知の問題に対する SAP の応答。

    残念ながら、これは SAP の問題であるため、SAP からの修正を待つ必要があります。