cognos调用存储过程

如何从数据源调用存储过程:在处直接写存储过程的名字何参数即可,比如在sql server的northwind上创建返回单数据集的存储过程代码如下:

create procedure getEmployee
@empID int
as
select * from Employees
where EmployeeID>@empID

在cognos中的datasource中输入调用如下:

getEmployee 0

cognos可以自动探测到返回的列名以及类型,创建的build也可以正确抽取数据。

问题1:如果返回两个数据集如何处理?在northwind中多数据集的存储过程定义:

CREATE  procedure listorders
 @eid int
as
select * from orders
where employeeid>@eid
select * from customers

在cognos中的datasource中输入listorders 0只能够探测到返回的第一个数据集的字段名,但是实际运行buile时提示错误DS-DBMS-E401:UDA Driver error on connection 'northwind',不知有没有人遇到过这样的问题,应该如何解决。

问题2:存储过程中如果包含判断语句也会出问题。创建存储过程

CREATE  procedure ColNotConformed
 @eid int
as
IF @eid = 2
BEGIN
 select * from orders
END
else
begin
 select * from products
end

在cognos中的datasource中输入存储过程名集对应的参数总是返回第一个判断语句对应的返回的列名,并且生成的build执行也会有错误,无法抽取数据。

问题3:在cognos中的datasource中输入创建存储过程的语句会导致ds关闭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值