我想在運行時更改晶體報告中存儲過程的所有者(即dbo)。可能嗎? TIA是否可以在運行時更改Crystal報表中的SP的所有者?
UDP 可能需要澄清。我有一個有很多子報告的報告。我必須將這份報告與其他數據庫一起使用。所以我需要在運行時更改存儲過程的方案而不更改DB上的任何內容。
我應該使用SetDataSource()
方法還是有其他更多相應的更改方案任務?
我想在運行時更改晶體報告中存儲過程的所有者(即dbo)。可能嗎? TIA是否可以在運行時更改Crystal報表中的SP的所有者?
UDP 可能需要澄清。我有一個有很多子報告的報告。我必須將這份報告與其他數據庫一起使用。所以我需要在運行時更改存儲過程的方案而不更改DB上的任何內容。
我應該使用SetDataSource()
方法還是有其他更多相應的更改方案任務?
您可以使用EXECUTE AS子句更改所有者而達到預期效果。
CREATE PROCEDURE dbo.TestProcedure
WITH EXECUTE AS OWNER
主要有五種類型的模擬的,可用於:
見Sommarskog的標準基準:Giving Permissions through Stored Procedures
要回答原來的問題,你可以使用sp_changeobjectowner系統存儲過程改變一個對象的所有者在數據庫中。
作爲所有者您是指連接到數據庫? – RvdK 2010-01-08 08:55:53