Sqlserver数据库中,跨权限实践语句

发布时间:2019-11-09  栏目:sqlite  评论:0 Comments

主题素材根源:前段时间有同事需求实行批量刨除语句。依据他提供的政工必要,推荐他使用“TRUNCATE
TABLE”语句。但使用该语句必要 ALTESportage权限,那与施行客户的剧中人物不符。

其一难题依旧郁结了半小时!

消除办法:使用EXECUTE AS语句改良奉行权限。代码如下:

就难题来讲,鲜明是出在mybatis中

ALTER PROCEDURE [dbo].[sp_TruncateTable] 
    @TableName varchar(200) 
    WITH EXECUTE AS SELF
AS 
BEGIN 
    --打印出当前执行上下文用户
    SELECT  nt_username, loginame 
    FROM sys.sysprocesses 
    WHERE spid = @@SPID

    SET NOCOUNT ON; 
    DECLARE @TruncateSql nvarchar(2000);
    SET @TruncateSql = 'TRUNCATE TABLE ' + @TableName 
    EXEC (@TruncateSql) 
END

终于,找到了答案,

 

本来是DataSource配置难题,

由此打字与印刷出来的loginame能够看看,试行客商音讯已经被涂改。

自个儿将布署连接池的数码写到了文本db.properties中,

SqlMapConfig.xml中引用db.properties配置

透过几轮测量检验,后来又将url重新自个儿布署到SqlMapConfig.xml中,SQL语句实践成功!

留下评论

网站地图xml地图