SSRS报告生成器运行在SSMS中找不到的过程

问题描述 投票:2回答:3

我有一个调用存储过程名称sp_rptPoolAndHottubSchedule的报表,当我从报表生成器执行该过程时,它运行没有问题。当我尝试使用GUI或SYS对象在SSMS中找到此过程时,无法找到它。

我究竟做错了什么?这似乎很简单。

enter image description here

sql-server reporting-services ssms ssrs-2012
3个回答
1
投票
  • 或SSMS和SSRS报告生成器在不同的凭据下运行
  • 或以下声明已执行:

SQL:

DENY VIEW DEFINITION ON [sp_rptPoolAndHottubSchedule] TO YourAccout    

可以通过以下方式检查对象的存在:

-- null means that object not exists
SELECT object_id ('sp_rptPoolAndHottubSchedule')

0
投票

试试这个SQL:

select * from sys.procedures 
where name like '%name_of_proc%'

并手动检查如下:

假设您在显示存储过程列表的Object Explorer Details (F7)中,请单击“过滤器”按钮并输入名称(或部分名称)。

enter image description here

如果您还没有找到存储过程名称,那么您正在寻找不同的服务器。


0
投票

您是否连接到正确的数据库,可能是权利问题,错误的架构等?您的数据源设置正确吗?当你点击'Unable to connect to datasource'按钮时,你会得到类似“query designer”的东西吗?

既然你说它有效,但你找不到它,我怀疑你可能没有连接到你的数据库实例。当您扩展数据库实例,然后在SSMS中编程时 - 您根本看不到您的proc。你可以做一个select object_id喜欢使用你需要的任何参数:

select OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]   
  object_name' [ ,'object_type' ] )  

这里记录了:https://docs.microsoft.com/en-us/sql/t-sql/functions/object-id-transact-sql?view=sql-server-2017

© www.soinside.com 2019 - 2024. All rights reserved.