ホームページ > データベース > mysql チュートリアル > JDBC 接続が「サーバーのタイムゾーン値「AEST」が認識されません」というメッセージで失敗するのはなぜですか?

JDBC 接続が「サーバーのタイムゾーン値「AEST」が認識されません」というメッセージで失敗するのはなぜですか?

Patricia Arquette
リリース: 2024-12-05 00:56:11
オリジナル
854 人が閲覧しました

Why is my JDBC Connection Failing with

サーバーのタイム ゾーン値 'AEST' が認識されないか、複数のタイム ゾーンを表しています

このエラーは、サーバーのタイム ゾーン (この場合は AEST) が認識されていないか、複数のタイム ゾーンを表しています。これに対処するには、より具体的なタイムゾーン値を使用するようにサーバーまたは JDBC ドライバー (特に、serverTimezone 構成プロパティ) を構成する必要があります。

MySQL の仕様

MySQL の場合、デフォルトのサーバータイムゾーンは UTC です。ただし、特定のタイム ゾーンでデータベースを作成すると、MySQL はタイムスタンプ付きのテーブルを UTC ベース 形式で保存します。

データベースに接続するときに、JDBC ドライバーはタイムスタンプを変換しようとします。 JVM のタイムゾーンのタイムスタンプ。 JVM のタイム ゾーンがデータベースのタイム ゾーンと異なり、serverTimezone を指定しなかった場合、ドライバーはタイムスタンプを正しく変換できず、このエラーが発生する可能性があります。

解決策

MySQL でこの問題を解決するには、接続 URL または Hibernate でserverTimezone プロパティを指定します。設定:

  • 接続 URL:

    jdbc:mysql://localhost:3306/database_name?serverTimezone=your_timezone
    ログイン後にコピー
  • 休止状態構成:

    <property name="hibernate.connection.server_timezone">your_timezone</property>
    ログイン後にコピー

your_timezone は、使用する特定のタイムゾーンを表します。

追加のヒント

  • 正しいタイムゾーンがわからない場合は、次を使用してデフォルトのタイムゾーンを印刷してください。 TimeZone.getDefault().
  • タイムゾーン値の形式を確認します。 「オーストラリア/シドニー」などの IANA タイム ゾーン形式に従う必要があります。
  • まだ問題が解決しない場合は、使用している特定のデータベースと JDBC ドライバーのドキュメントを参照してください。

以上がJDBC 接続が「サーバーのタイムゾーン値「AEST」が認識されません」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート