[oracle] ORA-01882:タイムゾーン領域が見つかりません



Answers

Windows版のSQL-Developerインストールでは、ディレクトリに移動します

C:\Program Files\sqldeveloper\sqldeveloper\bin

追加する

AddVMOption -Duser.timezone=CET

sqldeveloper.confをファイルにsqldeveloper.conf

Question

JavaアプリケーションからOracleデータベースにアクセスしています。アプリケーションを実行すると、次のエラーが発生します。

java.sql.SQLException:ORA-00604:再帰SQLレベル1でエラーが発生しましたORA-01882:timezone regionが見つかりません




java.sql.SQLException:ORA-00604:再帰SQLレベル1でエラーが発生しましたORA-01882:timezone regionが見つかりません

このタイプのエラーの場合は、システムの時刻をあなたの国の標準GMT形式に変更してください

例えば、インディアンタイムゾーンはチェンナイ、コルカタです。




  1. eclipse go run - > 実行コンフィギュレーション

  2. 右側のパネルのJREタブに移動します

  3. VM引数セクションにこれを貼り付けます

    -Duser.timezone=GMT

  4. 適用 - >実行




以下の行を格納するために使用しているライブラリのどのバージョン(つまり、jarファイル内)でも、 oracle / jdbc / defaultConnectionProperties.propertiesファイルを更新します。

oracle.jdbc.timezoneAsRegion=false



私の場合、「TZR」を「TZD」に変更することによってクエリを実行することができます。

String query = "select * from table1 to_timestamp_tz(origintime,'dd-mm-yyyy hh24:mi:ss TZD') between ?  and ?";



私もJDeveloperで接続を作成しようとしたときに同じ問題を抱えていました。 私たちのサーバーは異なるタイムゾーンに位置しており、以下のようなエラーが発生しました。

ORA-00604: error occurred at recursive SQL level 1 

ORA-01882: timezone region not found

私は、プロジェクトプロパティとデフォルトプロジェクトプロパティのJavaオプション(実行/デバッグ/プロファイル)にタイムゾーンを-Duser.timezone="+02:00"として含めるように依頼した多くのフォーラムを参照しましたが、それは私のためには機能しませんでした。 最後に、以下の解決策が私のために働いた。

JDeveloperの構成ファイル( jdev.conf )に次の行を追加します。

AddVMOption -Duser.timezone=UTC+02:00

このファイルは、 "<oracle installation root>¥Middleware¥jdeveloper¥jdev¥bin¥jdev.conf"にあります。




この問題がJDeveloperにある場合:モデルとビュー・プロジェクトの両方のプロジェクト・プロパティーを変更します - >実行/デバッグ - >デフォルト・プロファイル - >次の実行オプションを追加します:-Duser.timezone = Asia / Calcutta

上記のタイムゾーン値が次のようにデータベースから取得されていることを確認します。

V $ TIMEZONE_NAMESからTZNAMEを選択します。

それに加えて、jdev.conf、およびJDeveloper - >アプリケーション・メニュー - >デフォルト・プロジェクト・プロパティ - >実行/デバッグ - >デフォルト・プロファイル - >実行オプションのタイム・ゾーン設定をチェックしたいと考えています。




ERROR:ORA-00604:再帰SQLレベル1でエラーが発生しましたORA-01882:タイムゾーン領域が見つかりません

解決策:CentOSのCIMセットアップ。

/opt/oracle/product/ATG/ATG11.2/home/bin/dynamoEnv.sh

このjava引数を追加してください:

JAVA_ARGS = "$ {JAVA_ARGS} -Duser.timezone = EDT"




Related