새 SQL LOGIN을 추가하고 사람 전자 메일 주소 다음에 이름을 지정하고 싶습니다. 예 : "[email protected]". 이 저장 프로 시저에 다음을 전달하면 오류가 발생합니다 (오류는 프로 시저를 따릅니다).특수 문자가 작동하도록 SQL 인코딩 문자열 매개 변수
저장된 시저 :
CREATE PROCEDURE [Forms].[AddLogin]
@Email nvarchar(2048),
@TenantPassword nvarchar(2048)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
EXEC('CREATE LOGIN ' + @Email + ' WITH PASSWORD = ''' + @TenantPassword + ''', DEFAULT_DATABASE = DunderMifflin')
END
오류 :
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '.'.
내가 할 필요가 어떻게 든 매개 변수를 인코딩 확신합니다. 어떤 도움이 필요합니까? SQL 관리자 마법사를 통해 사용자를 추가하면 전자 메일 주소를 지정할 수 있으므로 유효한 로그인 이름임을 알 수 있습니다.
필수 주입 경고 : 사용자의 암호를이 루틴에 직접 전달하지 마십시오 !! 사용자는 '); DROP DATABASE DunderMifflin; - – BradC