用JavaBean访问CMP实体BEAN,代码错在那里??望大侠赐教

eaglezhang 2003-08-20 06:04:15

代码如下,
public sample.ejb.entity.Login getLoginByName(String name){
try{
Context ctx=new InitialContext();
LoginHome Home=(LoginHome)ctx.lookup("sample.ejb.entity.LoginHome");
Login login=Home.findByName(name);
return login;
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}
...全文
38 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
Morgan_ma 2003-08-22
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/Article/15/15250.shtm

楼主可以参考一下这里。。。
eaglezhang 2003-08-22
  • 打赏
  • 举报
回复
配置sql server Pool在WLS里成功,

但在JB里却始终连接不上数据库,错误老提示:

weblogic/version,哪位实际在JB里配置成功连接了MS SQL 数据库????
eaglezhang 2003-08-22
  • 打赏
  • 举报
回复
是这样啊,我再实验一下吧,晕啊
eaglezhang 2003-08-22
  • 打赏
  • 举报
回复
谢谢各位的支持啊,终于解决了!

问题出在jdbc-odbc连接上,所以查询不到数据。

改成wls提供的JDBC驱动做连接池,成功!

希望大家继续讨论,有时间我会整理出来,与大家共享。
戚爱斌 2003-08-21
  • 打赏
  • 举报
回复
检察一下Home.findByName(name)的代码!
hk2000c 2003-08-21
  • 打赏
  • 举报
回复
你的出错信息,不给我们,叫我们怎么看?
eaglezhang 2003-08-21
  • 打赏
  • 举报
回复
To:saviourlee(李斌冰)
具体怎么做?初学
saviourlee 2003-08-21
  • 打赏
  • 举报
回复
初始一下上下文环境看看把。
hk2000c 2003-08-21
  • 打赏
  • 举报
回复
嗬嗬,莫急莫急。只要把jdbc-odbc驱动程序换掉,换成weblogic自带的(mssql4.jar什么的),或者第三方的。就可以了。
你用的那个sun的jdbc-odbc东西很烂,数据类型转换一塌糊涂。扔了,换好的枪。
上去保你通过。
eaglezhang 2003-08-21
  • 打赏
  • 举报
回复
findByName没什么代码呀,,就是一EJB-QL语句,没错的。
chenwg168 2003-08-21
  • 打赏
  • 举报
回复
是远程接口还是本地接口的?
eaglezhang 2003-08-21
  • 打赏
  • 举报
回复
数据库里是有数据的,
EJB-QL:SELECT OBJECT(o) FROM Login o WHERE o.name = ?1

是用的jdbc-odbc数据驱动程序,连的SQL SERVER数据库

同时在JB直接建立TESTCLIENT还是出同样的错误

KillAllError 2003-08-21
  • 打赏
  • 举报
回复
呵呵,差不多了,已经出java.sql.SQLException: No data found
了。
这个就是你做程序的问题了。
在执行完SQL语句,他不可能一定对的,象这样找不到数据是正常的,所以,你要在程序中捕获
java.sql.SQLException
自己做一定的处理了。
呵呵
hk2000c 2003-08-21
  • 打赏
  • 举报
回复
你里面有没有数据阿?
没数据的话当人会出错咯。
再问一句:
你是不是用的jdbc-odbc数据驱动程序?
eaglezhang 2003-08-21
  • 打赏
  • 举报
回复
修改了接口,现在能找到EJB了,
但查询时却出了错误:
javax.ejb.FinderException: Problem in findByName while preparing or executing st
atement: 'weblogic.jdbc.rmi.SerialPreparedStatement@710c53':
java.sql.SQLException: No data found
java.sql.SQLException: No data found

EJB-QL:SELECT OBJECT(o) FROM Login o WHERE o.name = ?1

不知道问题出在那里?距成功就一步之遥。。。。。。。
l7980 2003-08-21
  • 打赏
  • 举报
回复
要放入同一个容器里

检查你的JNDI名字对否?
Sundery 2003-08-21
  • 打赏
  • 举报
回复
LoginHome Home=(LoginHome)ctx.lookup("LoginHome");

这样试试看
CNSC 2003-08-21
  • 打赏
  • 举报
回复
你需要提供你的Ejb server的基本信息,应该那本书上都会讲到的
zmj1977 2003-08-21
  • 打赏
  • 举报
回复
问题出在这个bean里 如果这个bean是单独运行 则 需要主机名和端口等信息!如果在这个bean嵌入到jsp.servlet 象你这样写没有问题!!1
hk2000c 2003-08-21
  • 打赏
  • 举报
回复
你查查你的sample.ejb.entity.LoginHome JNDI name 写对嘛。还有看看是不是把RemoteHome,和LocalHome搞错了。
要不就是你这个类,不在你配置的Context机子上面,不过这个可能性不大。
查查吧,这种问题很快能搞定的。
加载更多回复(6)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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