为什么会有这个错误?dx帮忙看一下喽!Exception in cmtbeanjava.lang.ClassCastException

03-06-30 bluegirl
我写了一个javabean,其中对支持xa的db2进行调用,调用句:

DB2XADataSource ds = (DB2XADataSource)(new InitialContext()).lookup("java:/DB2XADS");

XAConnection con = ds.getXAConnection();

Connection c = con.getConnection();

Statement s = c.createStatement();

ResultSet rs = s.executeQuery("select * from protonaccount");

if(rs.next())

{

name = rs.getString("customer_name");

System.out.println(name);

}

s.close();

con.close();

可是后台抛出:17:41:32,115 INFO [STDOUT] Exception in cmtbeanjava.lang.ClassCastException

的错误,不知道是什么原因???

谢谢!

robbin
2003-06-30 18:57
提示的很明显了呀,对象的强制类型转换错误!

bluegirl
2003-06-30 19:23
谢谢。

那怎么改正呀,请指教。如果强制转换错误为什么编译的时候没有报错。

robbin
2003-06-30 19:50
DB2XADataSource ds = (DB2XADataSource)(new InitialContext()).lookup("java:/DB2XADS");

应该就是这行出错吧,你不能强制转换为DB2XADataSource,我没有用过Webspere,所以不知道该怎么写。是不是应该直接写XADataSource?

因为ctx.lookup出来的对象只有在执行的过程中从JNDI中查出来,并且序列化到客户端程序再反序列化出来以后,你才能确定其类型,所以编译的时候检查不出来。

bluegirl
2003-06-30 20:28
这样写也不行,还是抛出那个错误:

XADataSource ds = (XADataSource)(new InitialContext()).lookup("java:/DB2XADS");

System.out.print("bound to db2");

XAConnection con = ds.getXAConnection();

Connection c = con.getConnection();

Statement s = c.createStatement();

猜你喜欢
2Go 1 2 下一页