我必须在遗留项目的SQL Server中注册DLL,不好的是我没有DLL也没有源代码,只是我拥有的是从Create Scripts选项中获取的二进制字符串我的数据库。我正在尝试使用以下代码:
USE [master]
DECLARE @CurrentUserName varchar(MAX)
SET @CurrentUserName = SUSER_SNAME()
SELECT @CurrentUserName
GRANT UNSAFE ASSEMBLY TO @CurrentUserName
最后一行给我一个错误:
@CurrentUserName附近的语法不正确。期待ID,NULL,PUBLIC或 QUOTED_ID
我正在创建这个脚本,为我的新团队成员提供一个脚本,以便在第一天设置他们的DEV环境,而不会给他们一个带有说明的大型手册,因为我们了解到,因为我们的设置过程很多,所以会发生很多错误。
感谢您的帮助!
答案 0 :(得分:0)
--You Have to use Dynamic SQL
USE [master]
DECLARE @CurrentUserName VARCHAR(MAX),@String_SQL NVARCHAR(MAX)
SET @CurrentUserName = SUSER_SNAME()
SELECT @CurrentUserName
--GRANT UNSAFE ASSEMBLY TO @CurrentUserName
SET @String_SQL=''
SET @String_SQL =N'GRANT UNSAFE ASSEMBLY TO '+@CurrentUserName+''
PRINT @String_SQL
EXEC (@String_SQL)