api调用的时候,无非就是设置调用的数据库连接, 但是,当数据集为存储过程返回的游标时,
Connection conn= ConnectionUtil.currentConnection("bis");
String defDsName = cxt.getDefDataSourceName ();
if (defDsName != null)
cxt.setConnection(defDsName, conn);
//oracle调用增加以下代码
cxt.setConnection("bis_report",conn);
按api调用则总是报错,参数个数不对,后来,与润乾沟通后,得到的答复是:
1、 使用JAVA调用存储过程并返回结果游标。
2、 将游标结果转换为润乾自定义数据集(2维数组)。
这样的话,则相当麻烦,各种模板调用不同的存储过程都不能通用。
后想想,直接web部署调用存储过程是没有问题的,难道润乾没有开放这样的api接口。然后就找到使用的类中的方法一个个试,后发现DataSourceConfig一个setDBType方法,
然后加上三句,则不再报错,
DataSourceConfig dsf=new DataSourceConfig();
dsf.setDBType(1);
cxt.setDataSourceConfig("bis_report", dsf);
整体设置数据连接大概是这样子
Connection conn= ConnectionUtil.currentConnection("bis");
String defDsName = cxt.getDefDataSourceName ();
if (defDsName != null)
cxt.setConnection(defDsName, conn);
//oracle调用增加以下代码
DataSourceConfig dsf=new DataSourceConfig();
dsf.setDBType(1);
cxt.setDataSourceConfig("bis_report", dsf);
cxt.setConnection("bis_report",conn);
至此,问题得到解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/134308/viewspace-761611/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/134308/viewspace-761611/