JBoss3.0.2无法进行SqlServer的数据库操作(insert,delete..)!

surface111 2002-09-23 12:38:30
数据库为Sqlserver2000
配置连接正常,可以Select查询纪录!

但一旦为写数据库的时候出现怪异现象,可以insert进去,
但数据库里并没有真正的纪录,而且Select不出来
但再Insert相同纪录时会报主键冲突!


看样子是插入进去了,但并没有提交到数据库,真正的数据存在EJB容器里面了!
用weblogic就没有这种事,怎样才能设置成提交後马上写入数据库呢?

重起jboss,换驱动,能试过的都试了,用java.sql.*插入数据和用EntityBean都没用!
...全文
42 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
homey123 2002-09-26
  • 打赏
  • 举报
回复
原因应该是EntityBean没有关联到具真正的数据库上,JBoss打完EJB包後在META-INF/jbosscmp-jdbc.xml中应该有
<defaults>
<datasource>java:/yourDataSource</datasource>
</defaults>

如果没有这句话则默认的是jboss自带的一个数据库"DefaultDS"上,而如果不指定create-table参数,默认为true,这就会出现插入没有错误,而数据库里没有数据的现象了!

这些参数可以在jbuilder打包的时候指定,EJB设计模版上有个JBossCMP-JDBC选项页,里面写着所有的参数!
其它更多的配置参数可以在
http://www.jboss.org/上下载
http://prdownloads.sourceforge.net/jboss/JBoss.3.0QuickStart.Draft3.pdf
里面介绍的很详细!
eyeieye 2002-09-24
  • 打赏
  • 举报
回复
改standardjaws.xml开头,standardjbosscmp-jdbc.xml的开头,最好把create-table改成false,这样如果没绑定,会有错误提示
surface111 2002-09-24
  • 打赏
  • 举报
回复
原因是找到了,创建的CMP并没有关联到数据库上,而是EJB容器自己创建了一个表来存储数据!打包时用的JBuilder+Jboss打的包,
jbosscmp-jdbc.xml文件内容如下

<?xml version="1.0" encoding="UTF-8"?>

<jbosscmp-jdbc>
<enterprise-beans>
<entity>
<ejb-name>TbBank</ejb-name>
<table-name>tb_bank</table-name>
<ejb-designer-id>TbBank</ejb-designer-id>
<cmp-field>
<field-name>bankid</field-name>
<column-name>bankid</column-name>
</cmp-field>
<cmp-field>
<field-name>bankname</field-name>
<column-name>bankname</column-name>
</cmp-field>
<cmp-field>
<field-name>isStaticLength</field-name>
<column-name>isStaticLength</column-name>
</cmp-field>
<cmp-field>
<field-name>accountlength</field-name>
<column-name>accountlength</column-name>
</cmp-field>
</entity>
</enterprise-beans>
</jbosscmp-jdbc>


现在出现的问题是怎样将创建的CMP关联到JBoss的数据库连接池上!
yangcl 2002-09-24
  • 打赏
  • 举报
回复
关注中!
surface111 2002-09-24
  • 打赏
  • 举报
回复
不行啊!能试的都试了,Help
eyeieye 2002-09-23
  • 打赏
  • 举报
回复
A或B都不行,那C行不行?

实体bean有个max-bean-age,也可以改小一点试试看
surface111 2002-09-23
  • 打赏
  • 举报
回复
standardjboss.xml里面只有一个
<commit-option>B</commit-option>参数
把它改成A或B都不行!
yuechun 2002-09-23
  • 打赏
  • 举报
回复
这个参数是commit参数,用来指定是否有容器自动提交
eyeieye 2002-09-23
  • 打赏
  • 举报
回复
好像是改一下standardjboss.xml哪个参数

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧