java - Play Framework 和 DB2

标签 java database playframework db2 playframework-2.0

我正在通过 Play Framework 2.0 开发一个网络应用程序。

因为我需要访问 DB2 数据库,所以我在应用程序的 application.conf 文件中添加了以下行:

db.mydb.driver=com.ibm.db2.jcc.DB2Driver
db.mydb.url="jdbc:db2://host:port/databaseName"
db.mydb.user=user
db.mydb.password=pass
db.mydb.jndiName=databaseName

我已成功连接到此数据库,但出现以下异常:

[info] play - datasource [jdbc:db2://host:port/databaseName] bound to JNDI as databaseName
[info] play - database [databaseName] connected at jdbc:db2://host:port/databaseName
[warn] application - play_evolutions table already existed
[error] application -

! @6a8ib4hd7 - Internal server error, for request [GET /] ->

play.api.UnexpectedException: Unexpected exception [SqlSyntaxErrorException: DB2
 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.PLAY_EVOLUTIONS, DRI
VER=4.12.55]
        at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$$anon
fun$1.apply(ApplicationProvider.scala:134) ~[play_2.9.1.jar:2.0]
        at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$$anon
fun$1.apply(ApplicationProvider.scala:112) ~[play_2.9.1.jar:2.0]
        at scala.Option.map(Option.scala:133) ~[scala-library.jar:0.11.2]
        at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3.apply
(ApplicationProvider.scala:112) ~[play_2.9.1.jar:2.0]
        at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3.apply
(ApplicationProvider.scala:110) ~[play_2.9.1.jar:2.0]
        at scala.Either$RightProjection.flatMap(Either.scala:277) ~[scala-librar
y.jar:0.11.2]
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-2
04, SQLSTATE=42704, SQLERRMC=DB2ADMIN.PLAY_EVOLUTIONS, DRIVER=4.12.55
        at com.ibm.db2.jcc.am.hd.a(hd.java:676) ~[db2jcc4.jar:na]
        at com.ibm.db2.jcc.am.hd.a(hd.java:60) ~[db2jcc4.jar:na]
        at com.ibm.db2.jcc.am.hd.a(hd.java:127) ~[db2jcc4.jar:na]
        at com.ibm.db2.jcc.am.mn.c(mn.java:2621) ~[db2jcc4.jar:na]
        at com.ibm.db2.jcc.am.mn.d(mn.java:2609) ~[db2jcc4.jar:na]
        at com.ibm.db2.jcc.am.mn.a(mn.java:2085) ~[db2jcc4.jar:na]

为了解决这个问题,我尝试在 application.conf 文件中设置以下行来禁用 Evolutions:

evolutions=disabled
evolutions.enable=false

但我总是遇到上述异常。

谁能帮我解决这个问题?

谢谢

最佳答案

OK...终于找到问题的根源了...

就像我说的那样,我正在使用 Play Framework 2.0 并且正在处理此版本 Play 附带的表单教程项目...

事实证明,禁用 Evolutions 的命令既不是:

进化=禁用 进化=禁用

...而是:

evolutionplugin=禁用

谢谢

关于java - Play Framework 和 DB2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10416457/

相关文章:

多个表上的 mysql 和外键关系

sql - 有效地检查文本列中是否存在文本

playframework - 在 Play 2 SBT 项目中包含 Lucene nightly jar

java - 编译错误 : Cannot us a method returning CompetionStage as a Handler for requests

java - 如何仅将不同的元素从一个 arrayList 复制到另一个 ArrayList

java - 按位运算符

mysql - 在 SQL 查询中返回唯一项

java - Play 2.1-快照: Ebean database updates and deletions don't work in Junit test cases

java - 当另一列更改时添加列总数

java - 将 JAXB、泛型和反射结合到 XML 序列化我所有的 Java 类