同じ種類のJDBCドライバがMC上に複数アップロードされている時、JDBCドライバが正しく選択されない場合がある

フォローする

事象

同じ種類のJDBCドライバがMC上に複数アップロードされている時、
JDBCドライバが正しく選択されない場合があります。

MySQL用のJDBCドライバであるConnector /J 5とConnector /J 8をどちらもアップロードしている場合

Connector /J 5とConnector /J 8では、それぞれ接続に必要な設定が異なります。
    <参考記事>Tomcat環境でMySQL8.xを使用した場合の設定について

そのため、例えば、ロボット処理用データベースにアクセスするために、
どちらもアップロードしている場合、
それぞれのJDBCドライバ用のdatabase typeを作成する必要があります。
下図の例では、以下のように作成しています。
    ・Connector /J 5用database type:MySQL Connector J 5
    ・Connector /J 8用database type:MySQL Connector J 8

jdbc.png

この状態で、管理タブ-> RoboServer タブの設定を押下し、
それぞれのdatabase typeを使用してテスト接続を行うと、
エラーが発生する場合があります。

〇エラー例
____.png

〇エラーメッセージ

Error connecting to the database: The server time zone value '???? (?W????)' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.


このエラーは、接続 URL テンプレートにserverTimezoneの指定をせずに、
Connector /J 8を使用している場合に発生するエラーです。
この場合、Connector /J 5の使用を想定し、
Connector /J 5用database typeを選択しているにもかかわらず、
内部的にConnector /J 8が選択されてしまっていることがわかります。

対処方法

同じ種類のJDBCドライバを複数アップロードせずに使用してください。
例えば、MySQL5.xとMySQL8.xをどちらも使用したい場合、
共通で使用できるJDBCドライバのバージョンがあるため、
複数バージョンをアップロードする必要はありません。

 <外部参考URL>Connector/J Versions, and the MySQL and Java Versions They Require

上記では対応できず、複数アップロードする必要がある場合、以下をお試しください。
 ・JDBCドライバを削除し、再アップロードする

事例では、複数アップロードした場合に、
アップロードした順番によっても選択されるJDBCドライバが異なることが報告されています。

そのため、アップロードされているJDBCドライバを一度削除し、
アップロードする順番を変えることで正常に接続できる場合があります。


区分 発生Ver 改修ID 修正Ver
不具合 10.4 1469545  

 

 

 

0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。