打印本文 打印本文 关闭窗口 关闭窗口
jboss 下MySql DataSource EJB 部署问题
作者:武汉SEO闵涛  文章来源:敏韬网  点击数755  更新时间:2009/4/22 20:48:22  文章录入:mintao  责任编辑:mintao

环境:

jboss 4.0.2

Eclipse 3.0.1

MySql 4.1.12

在JBOSS中部署 ENTITY Ejb 的时候,老是报错:

org.jboss.deployment.DeploymentException: Error while creating table test; - nested throwable: (java.sql.SQLException: Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''NOT NULL, addre varchar, CONSTRAINT pk_test PRIMARY KEY (name))'''' at line 1")

打开 log:

在log4j.xml文件加入:

<appender name="CMP" class="org.jboss.logging.appender.RollingFileAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    <param name="File" value="log/cmp.log"/>
    <param name="Append" value="false"/>
    <param name="MaxFileSize" value="500KB"/>
    <param name="MaxBackupIndex" value="1"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
    </layout> 
</appender>

<category name="org.jboss.ejb.plugins.cmp">
    <priority value="DEBUG" />
    <appender-ref ref="CMP"/>
</category>

重新部署,查看产生的CMP LOG,找到create 语句,在MySql的客户端运行,确实出错。

找到create 语句出错的地方,然后在 jbosscmp-jdbc.xml 中将相应的错误项更正。

问题解决。

打印本文 打印本文 关闭窗口 关闭窗口