从SSRS调用oracle包

时间:2015-01-23 03:18:52

标签: sql-server oracle reporting-services plsql ssrs-2008

我想将日期范围和员工ID从SSRS发送到Oracle包。有谁知道怎么做?即使我尝试使用from_date,to_date和employee_id中的三个参数声明一个oracle包,它也可以正常使用一个员工ID。但如果我在SSRS Web界面中选择多个员工说错误的参数数量,则会失败。有谁知道如何处理这个?

1 个答案:

答案 0 :(得分:1)

通常使用SQL和SSRS,您可以执行类似

的操作

Select * From Table where Table.Field in @Param

Oracle当然不同,取决于您使用的连接类型。

ODBC连接你会使用类似的东西: Select * From Table where Table.Field = ? 参数顺序在这里很重要,所以要小心。

你会使用类似的OLEDB连接: Select * From Table where Table.Field = :Param

但是,上述任何一项都不能用于多选参数。你可以这样做:

=”Select * From Table where Table.Field in (‘” + Join(Parameters!parameter.Value,”‘, ‘”) + “‘)”

=”Select * From Table where Table.Field in(” + Join(Parameters!parameter.Value,”, “) + “)”如果值或您的字段仅为数字。

以下是一些您可以看到的好文章。如果没有更多信息,它可以提供比我个人更好的解释; Oracle环境,连接类型等的详细信息

Quick Reference:

  
      
  1. 确保您的Oracle版本为9或更高版本,但这些都不适用   版本8或更早。
  2.   
  3. 在Oracle中使用参数时,请使用:而不是@符号 -   :param而不是@param。
  4.   
  5. 在为其提供值的数据集中添加“ALL”选项   多值下拉参数。
  6.   
  7. 使用“where(field1 in(中)”检查where子句中的ALL   :prmField1)或(ALL)in(:prmField1))“syntax。
  8.   
  9. 您可以从数据集窗口执行查询,但只能执行   供应1个值。但是,该值可以是“全部”。
  10.   
  11. 通过'ALL'与'(全选)'教育您的用户。
  12.   

关于使用Oracle的SSRS中的多个参数的另一篇好文章:Davos Collective在顶部引用了该文章。

希望这有帮助!