Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 赫罗库·元';t接受所需的URL参数以防止MySql zeroTimeBehavior错误_Java_Heroku_Playframework - Fatal编程技术网

Java 赫罗库·元';t接受所需的URL参数以防止MySql zeroTimeBehavior错误

Java 赫罗库·元';t接受所需的URL参数以防止MySql zeroTimeBehavior错误,java,heroku,playframework,Java,Heroku,Playframework,我已经开发了一个Play/Scala应用程序,它运行在本地MySql上。但是一个必需的数据库URL参数,zeroDateTimeBehavior=convertToNull(Java时间戳)被Heroku所做的URL的进一步浓缩所破坏,因此我的应用程序无法连接到ClearDB(Heroku MySql产品) 这是我的数据库URL: db.default.url="mysql://be32d43afc3cb7:c73c404d@us-cdbr-east-03.cleardb.com/heroku_

我已经开发了一个Play/Scala应用程序,它运行在本地MySql上。但是一个必需的数据库URL参数,
zeroDateTimeBehavior=convertToNull
(Java时间戳)被Heroku所做的URL的进一步浓缩所破坏,因此我的应用程序无法连接到
ClearDB
(Heroku MySql产品)

这是我的数据库URL:

db.default.url="mysql://be32d43afc3cb7:c73c404d@us-cdbr-east-03.cleardb.com/heroku_6cf0eb306e78bc8?reconnect=true&zeroDateTimeBehavior=convertToNull"
以及后来的Heroku版本,它将变形:

JDBC URL = jdbc:mysql://us-cdbr-east-03.cleardb.com/heroku_6cf0eb306e78bc8?reconnect=true&zeroDateTimeBehavior=convertToNull?useUnicode=yes&characterEncoding=UTF-8&connectionCollation=utf8_general_ci
&
除沫器出现了一些神秘现象

Heroku说错误是由以下原因造成的:

java.sql.SQLException: The connection property 'zeroDateTimeBehavior' only accepts values of the form: 'exception', 'round' or 'convertToNull'. The value 'convertToNull?useUnicode=yes' is not in this set.
那么,是否有其他方法可以配置此参数?如果没有它,我会出现以下错误:

play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp]]
这对谁有影响?非常感谢任何能给我们带来启示的人

编辑/解决方案: Heroku还将几个参数连接到它们提供给用户的DB URL。由于Heroku在自己的参数集之前使用了“?”串联,因此尝试将我自己的参数添加到DB URL将不起作用。然而,我找到了一个不同的解决方案,似乎同样有效

SET sql_mode = 'NO_ZERO_DATE';
我把它放在我的表格描述中,它解决了
“0000-00-00 00:00:00”不能表示为java.sql.Timestamp

我意识到Heroku期望的是一个没有任何参数的原始URL,它将自己的参数连接到该URL。所以问题是我还能用什么方法处理这个错误:“值'0000-00-00 00:00:00'不能表示为java.sql.Timestamp”?除了URL之外,我还可以如何将参数传递给MySql:zeroDateTimeBehavior=convertToNull