Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何仅在SSRS数据集中创建存储过程,而不在数据库中创建存储过程?_C#_Sql Server_Stored Procedures_Reporting Services_Ssrs 2012 - Fatal编程技术网

C# 如何仅在SSRS数据集中创建存储过程,而不在数据库中创建存储过程?

C# 如何仅在SSRS数据集中创建存储过程,而不在数据库中创建存储过程?,c#,sql-server,stored-procedures,reporting-services,ssrs-2012,C#,Sql Server,Stored Procedures,Reporting Services,Ssrs 2012,我使用SSRS2012创建一个报告,它的数据集从存储过程获取数据。在SSMS数据库中预先创建此SP,然后在SSRS数据集中执行时,它工作正常 但是:为了保持数据库干净,我不希望在SSMS数据库中创建此SP我想在SSRS数据集=>查询类型中直接编写SP的语法:Text=>同时执行SP。然后,可能在使用后将此SP直接放入SSR中。 可能吗 我试过: create proc LALALA as begin SELECT top 100 * from mytable end GO Exec LA

我使用SSRS2012创建一个报告,它的数据集从存储过程获取数据。在SSMS数据库中预先创建此SP,然后在SSRS数据集中执行时,它工作正常

但是:为了保持数据库干净,我不希望在SSMS数据库中创建此SP我想在SSRS数据集=>查询类型中直接编写SP的语法:Text=>同时执行SP。然后,可能在使用后将此SP直接放入SSR中。

可能吗

我试过:

create proc LALALA as
begin
 SELECT top 100 *  from mytable 
end
GO

Exec LALALA
上述查询在SSMS中运行良好,但在SSRS dataset=>查询类型:文本中写入时失败,错误为“缓冲XML内容所需的大小超过了缓冲区配额”

我还尝试:

IF (OBJECT_ID('dbo.LALALA') IS NOT NULL)
DROP PROCEDURE dbo.LALALA
GO

create proc LALALA as
begin
SELECT top 100 *  from mytable
end
GO

Exec LALALA
上述操作在SSMS中可以正常工作,但在报表设计器中失败“create/alter procedure”必须是查询批处理中的第一条语句。写入数据集查询文本时,“GO”附近的语法不正确。

谁能告诉我如何解决这个问题?
非常感谢

我想知道你为什么要这么做?似乎无缘无故会有很多麻烦(如果你问我的话),这违反了SP的本质。创建单独的
模式
(而不是“dbo”),并使您的报告过程属于它。Hi Lode,我只想保持我的SQL数据库简单干净,避免为不同的报告创建太多SP…Hi Ivan。我尝试为sp创建另一个模式,但仍然显示出相同的错误…您不将其放入数据库的理由非常奇怪。如果需要存储过程,则它属于数据库。Ivan已经建议使用另一种模式,这是目前为止最好的选择。我想知道你为什么要这样做?似乎无缘无故会有很多麻烦(如果你问我的话),这违反了SP的本质。创建单独的
模式
(而不是“dbo”),并使您的报告过程属于它。Hi Lode,我只想保持我的SQL数据库简单干净,避免为不同的报告创建太多SP…Hi Ivan。我尝试为sp创建另一个模式,但仍然显示出相同的错误…您不将其放入数据库的理由非常奇怪。如果需要存储过程,则它属于数据库。Ivan已经建议使用另一种模式,这是目前为止最好的选择。