Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

タイムゾーン フィールドを使用した Oracle タイムスタンプが予期しない値を返す

公開日: Aug 24, 2022
説明
Tableau Desktop から Oracle に接続するとき、タイム ゾーン付きのタイムスタンプとして定義された Oracle フィールドが、同じマシン上の Oracle ネイティブ クライアントの出力と一致しない場合があります。

 

Cause

この動作の原因は、Oracle データ ソース、Oracle ドライバー、Tableau Desktop 間の相互作用です。

Tableau Desktop で Oracle データ ソースへの接続を開くと、Oracle ドライバーにより、単一の値 TIME_ZONE を使用して接続がローカル マシンのタイム ゾーンと夏時間 (該当する場合) に設定されます。

したがって、Tableau が受信するすべてのタイムスタンプは、タイム ゾーン フィールドの値がローカル マシンの時刻になります。さらに、ローカル マシンの設定や季節によっては、オペレーティング システムによって夏時間が適用される場合があります。以上の各機能の相互作用の結果、Tableau によって返されるデータ セットが、同じマシン上の Oracle クライアントによって返されるものと一致しない場合があります。
 
解決策
この動作は設計上のものです。

この問題を回避するには、Tableau Desktop で、次のような最初の SQL ステートメントを使用して、(中央ヨーロッパのタイム ゾーンにあるマシン上で) ローカル マシンと同じタイム ゾーンに Oracle 接続を設定します。

ALTER SESSION SET TIME_ZONE = 'Europe/Amsterdam'

夏時間の設定が接続に影響している場合は、ローカル マシンのオペレーティング システムで夏時間を無効にすることを検討してください。
 
その他のリソース
次の図は、Oracle ネイティブ クライアント、DST がオンの Tableau Desktop、DST がオフの Tableau Desktop のさまざまな出力を示しています。 Oracle データ ソースは UTC タイム ゾーンです。
ローカル マシンはヨーロッパ/ダブリンのタイム ゾーンです。すべての違いを赤色でハイライトしています。

ユーザーが追加した画像

次に示すのは、ローカル マシンのオペレーティング システムの設定に合わせて、Tableau 接続がヨーロッパ/ダブリンのタイム ゾーンに設定されているときの Tableau 出力です。マシンで DST が有効です。テストは 8 月に実施されました。
すべてのタイムスタンプは期待どおりダブリンのタイム ゾーンで返されます。

ユーザーが追加した画像

この記事で説明しているテストは、Tableau のカスタマイズされたドライバーではなく、標準の Oracle ドライバーを使用して実行されています。Tableau Oracle ドライバーがマシンにインストールされていません。
ナレッジ記事番号

001472052

 
読み込み中
Salesforce Help | Article