![](/img/trans.png)
[英]setting type TIMESTAMPWITH TIME ZONE to JDBC callable statement
[英]Setting a time zone on a JDBC connection
我在時區為:的Linux機器上運行一些Java:
% timedatectl
...
America/Los_Angeles (PDT, -700)
在MySQLDatabase.getConnection()
期間出現錯誤:
java.sql.SQLException: The server time zone value 'PDT' 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 specific time zone value if you want to utilize time zone support.
我無法更改服務器時區,因此我想告訴JDBC。 查閱這里的文檔,它給了我三個選擇,而我嘗試應用它們卻迷失了。
選項1:我正在MysqlDataSource
上尋找setServerTimezone
方法,但沒有找到。
選項2:我似乎都不在調用這些方法中的任何一個。
選項3:我也沒有連接URL,因為我以MysqlDataSource
開頭,設置了用戶名等並從那里獲取Connection
。
我該怎么做呢?
我還沒有想出原始問題的答案,但是我想出了另一種解決方法:
/etc/mysql/my.conf
(或等效選項),並將default_time_zone = +0:00
添加到[mysqld]
部分。 mysql
數據庫中填充了與時區相關的表(它們始終存在,但默認情況下為空),否則需要使用偏移量而不是命名時區。 PS:前Sun / Oracle中有一些了解API設計的人。 伙計們,如果您讀了這篇文章,該如何辦一些內部課程來教那些還不懂的人呢? 而且,親愛的文檔Y.getX()
,如果您在文檔中寫道X
是Y
一個屬性,請確定Y.getX()
存在嗎?
在我的Rasperry Pi上,我只需要更改Rasperian的時區。
希望能奏效,菲利普
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.