インフォメーションリンクはSpotfire Serverによって実行されますが、実行時のロケール設定は下表のとおりです。
Spotfire Serverバージョン | インフォメーションリンク実行時のロケール設定 | 説明 |
7.12まで | 動作端末OSのロケール設定に従う | |
7.13~12.0 | en_US ※英語、米国 | 7.13からはデフォルトのロケール設定がen_USになるように仕様変更されました。 |
12.1以降 ※14.4まで動作確認済み |
動作端末OSのロケール設定に従う |
12.1より、インフォメーションリンクは単独のプロセスで動作するように仕様変更されています。Spotfire Serverメインプロセスのロケール設定はen_USのままですが、単独のプロセスのロケール設定は動作端末OSのロケール設定に従うようになっています。 |
例えばSpotfire Server 12.0の場合、以下の情報が動作ログに出力されており、ロケールが「en_US」となっていることを示しています。
C:\tibco\tss\12.0.12\tomcat\logs\server.log
INFO 2024-11-01T13:55:02,603+0900 [*Initialization*] spotfire.server.LifecycleManager: Default locale set to 'en_US'.
インフォメーションリンク実行時のロケール設定は、JDBC経由でデータベースへ接続するセッションの日付、時刻、通貨単位、カレンダーの規則などに影響を与えることがあります。
特にOracleへ接続する場合、インフォメーションリンク実行時のロケール設定(例:en_US)がデータベース側の設定(例:JAPANESE / JAPAN)に一致しない場合は以下のエラーが発生することがあります。
これらのエラーはSpotfire Server 10.10 / 11.4 / 12.0 など、デフォルトのロケール設定が en_US となっているバージョンにて報告されることが多いです。
ORA-01722: 数値が無効です。
ORA-01861: リテラルが書式文字列と一致しません。
上記エラーの回避方法として、インフォメーションリンクが参照しているデータソースを編集し、「セッション コマンドを開く」に以下の2行を記入してください。(参考資料)
※記入時には最後に「;」をつけないでください。保存すると後ろに「;」が自動的に追加されます。
ALTER SESSION SET NLS_LANGUAGE='JAPANESE';
ALTER SESSION SET NLS_TERRITORY='JAPAN'