我正在尝试使用[医]应用程序创建一个webapp应用程序。默认情况下,app引信将应用程序配置为使用MySQL数据库,但是我希望使用DB2数据库。由于Appfuse使用hibernate和Spring,这应该是一个相当简单的配置更改,但我一直无法使它工作。在所有SQL调用中,我都会得到以下错误:
create table role (
id bigint generated by default as identity,
description varchar(64),
name varchar(20),
primary key (id)
);
HHH000389: Unsuccessful: create table role (id bigint generated by default as identity, description varchar(64), name varchar(20), primary key (id))
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;imary key (id));END-OF-STATEMENT, DRIVER=4.19.26下面是如何配置hibernate和jdbc连接:
<jdbc.groupId>com.ibm.db2</jdbc.groupId>
<jdbc.artifactId>db2jcc4</jdbc.artifactId>
<jdbc.version>10.5</jdbc.version>
<jdbc.driverClassName>com.ibm.db2.jcc.DB2Driver</jdbc.driverClassName>
<jdbc.url>jdbc:db2://<IP Address>:<Port>/<DBName>:currentSchema=<schemaName>;</jdbc.url>
<jdbc.username><username></jdbc.username>
<jdbc.password><password></jdbc.password>
<jdbc.validationQuery><![CDATA[SELECT 1 FROM sysibm.sysdummy1;]]></jdbc.validationQuery>
<hibernate.dialect>org.hibernate.dialect.DB2Dialect</hibernate.dialect>我不明白我哪里出了问题。我可以使用相同的db2jcc4.jar和连接参数通过netbeans连接到DB,并从上面复制和粘贴sql,并且执行时不会出错。因此,我不认为这是一个语法错误,正如SQLCODE=104,SQLSTATE42601所指出的。我不知道我做错了什么。你能给我的任何帮助都是非常感谢的!
发布于 2015-08-24 18:22:04
我不确定这是否是正确的答案,但它奏效了:我删除了验证查询。
如果有人知道一个更好的答案或为什么这样做,请分享。
谢谢!
https://stackoverflow.com/questions/31899686
复制相似问题