是否可以在运行时更改Crystal报表中的SP的所有者?

时间:2010-01-08 08:51:22

标签: c# crystal-reports

我想在运行时更改水晶报表中smth else的存储过程的所有者(即dbo)。可能吗? TIA

UDP 可能是我需要澄清一下。我有一个包含大量子报告的报告。我必须将此报告与其他数据库一起使用。所以我需要在运行时更改存储过程的方案,而不需要在DB上更改任何内容。

我应该使用SetDataSource()方法还是其他更多相应的更改方案任务?

2 个答案:

答案 0 :(得分:0)

您无需使用EXECUTE AS条款更改所有者即可获得所需效果。

CREATE PROCEDURE dbo.TestProcedure
WITH EXECUTE AS OWNER

基本上可以使用五种类型的模拟:

  • SELF - 指定的用户是创建或更改模块的人员
  • CALLER - 这将采用当前用户的权限
  • 所有者 - 这将获取被称为
  • 的模块的所有者的权限
  • 'user_name' - 特定用户
  • 'login_name' - 特定登录

请参阅Sommarskog的规范参考:Giving Permissions through Stored Procedures

答案 1 :(得分:0)

要回答原始问题,可以使用sp_changeobjectowner系统sproc更改数据库中对象的所有者。