שימוש בפרמטרים לצורך create login
-
שלום לכולם.
הכנסתי בפרוצודורה פרמטרים. אולם כשאני מנסה להשתמש בפרמטרים לצורך משפטים של create login, הוא לא מזהה את הפרמטרים. מצ"ב דוגמא.create PROCEDURE loginuser (@usernametemp VARCHAR(100) output) AS begin set @usernametemp = '234' create login @usernametemp with password = @passtemp; end GO
תודה מראש
פורסם במקור בפורום CODE613 ב24/07/2016 00:00 (+03:00)
-
CREATE PROC LoginUser (@UserNameTemp VARCHAR(100) output) AS BEGIN SET @UserNameTemp = 'a234' DECLARE @passtemp AS NVARCHAR(MAX) = '1234' DECLARE @SqlCommand AS NVARCHAR(MAX) = N'CREATE LOGIN ' + @UserNameTemp + N' WITH PASSWORD = N''' + @passtemp + N'''' EXEC(@SqlCommand) END GO DECLARE @retVal AS NVARCHAR(MAX) = '' EXEC LoginUser @UserNameTemp = @retVal OUTPUT
פורסם במקור בפורום CODE613 ב24/07/2016 16:23 (+03:00)
-
דבר ראשון, תודה רבה.
למעשה, אותה פרוצודורה אני יכול להריץ אותה לפעמים והיא מצליחה ולפעמים היא מציינת שגיאה 102.
מצ"ב הקוד והודעת השגיאה.alter PROCEDURE loginuser (@usernametemp VARCHAR(255) output,@passtemp VARCHAR(255) output) AS begin set @usernametemp = (SELECT SUBSTRING(CONVERT(varchar(100), NEWID()), 0, 9)) set @passtemp = (SELECT SUBSTRING(CONVERT(varchar(100), NEWID()), 0, 9)) -- create login @usernametemp with password = @passtemp; DECLARE @SqlCommandlogin AS NVARCHAR(255) = N'CREATE LOGIN ' + @UserNameTemp + N' WITH PASSWORD = N''' + @passtemp + N'''' EXEC(@SqlCommandlogin) end GO Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '40879'.
פורסם במקור בפורום CODE613 ב24/07/2016 23:19 (+03:00)
-
אלפי תודות!!
אני פונה בנוגע לשגיאה הבאה...
Msg 4621, Level 16, State 10, Line 1 Permissions at the server scope can only be granted when the current database is master
איני מצליח לשרשר את
use MASTER; (או שאני מצליח, והבעיה שונה..).ושוב תודה רבה.
פורסם במקור בפורום CODE613 ב24/07/2016 23:56 (+03:00)