`
abin103
  • 浏览: 151069 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 调用oracle存储过程传入 数组参数 不用纯jdbc连接

阅读更多
搜遍了 大大小小的网页 都没有找到正确结果 苦恼啊
下面是我代码的一段
  ArrayDescriptor desc = ArrayDescriptor.createDescriptor("ALIST",connection);
   ARRAY aArray = new ARRAY(desc,  connection, al);
  pproc =(OracleCallableStatement) connection.prepareCall("{
              call  ATTEND.InsertAttendDataTest(?,?)}");
   pproc.setString(1, colstr);
  ((OracleCallableStatement) pproc).setARRAY(2, aArray);
  pproc.execute();
我的connection是jboss的连接池的连接 然后抛出:
java.lang.ClassCastException: org.jboss.resource.adapter.jdbc.WrappedConnection cannot be cast to oracle.jdbc.OracleConnection
但是用纯的jdbc连接 就没有问题 请问如何转换connection 到oracle.jdbc.OracleConnection
而要使用jboss的连接池
分享到:
评论
3 楼 sunjl 2010-09-17  
问题关键在数据源上,你使用的应该是JBOSS管理的数据源。

单独写一段代码,使用ORACLE管理的数据源,可以解决这个问题,附上代码。

public static OracleDataSource getOracleDataSource()
    {
        OracleDataSource ds = null;
        try
        {
            ResourceBundle res = null;
            res = AccessController
                    .doPrivileged(new PrivilegedAction<ResourceBundle>()
                    {
                        public ResourceBundle run()
                        {
                            return ResourceBundle.getBundle("distributeDB");
                        }
                    });

            String url = res.getString("url");
            String user = res.getString("user");
            String password = res.getString("password");

            ds = new OracleDataSource();
            ds.setURL(url);
            ds.setUser(user);
            ds.setPassword(password);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return ds;
    }
2 楼 abin103 2009-06-24  
经转换 会有一下错误
java.lang.ClassCastException: org.jboss.resource.adapter.jdbc.WrappedConnection cannot be cast to org.jboss.resource.adapter.jdbc.WrappedConnection
1 楼 abin103 2009-06-24  
WrappedConnection  c=(org.jboss.resource.adapter.jdbc.WrappedConnection )connection;

OracleConnection  cc=(OracleConnection )c.getUnderlyingConnection();
chen56 (初级程序员) 2008-12-02
经实践 无法通过

相关推荐

Global site tag (gtag.js) - Google Analytics