[英]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.