Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
cottage125
Starting Member
32 Posts |
Posted - 2008-05-14 : 13:54:57
|
| CREATE TABLE #XYZ(NTUser varchar(20),FullNTName varchar(50),FirstName varchar(20),MiddleName varchar(20),LastName varchar(40),Rolename varchar(30))DECLARE @NAME AS varchar(1000)DECLARE @ADDRESS AS varchar(1000)Declare CUR_C CursorForSelect RolenameFrom DCJ_SecurityRoleOpen CUR_CFetch Next From CUR_Cinto @NAMEWhile @@fetch_status =0BeginIF @NAME not in('All','PUBLIC')BeginSET @ADDRESS = 'cn='+'''' + @NAME +''''+',OU=Groups, OU=AJP,DC=XYZ,DC=com'INSERT INTO #UserDetailEXEC ('SELECT SAMAccountName as NTUSER,name as FULLNTNAME,givenname as FIRSTNAME,initials as MIDDLENAME,sn as LASTNAME,''' + @NAME + ''' as Rolename FROM OPENQUERY(ADSI, ''SELECT sAMAccountName,name,givenname,initials,sn FROM''''LDAP://DC=XYZ,DC=com''''WHEREMemberOf=''''' + @ADDRESS +''''' '')')ENDFetch Next From CUR_Cinto @NAMEENDCLOSE CUR_CDEALLOCATE CUR_CWhen I executes this code I am getting some syntax error likeMsg 102, Level 15, State 1, Line 8Incorrect syntax near 'DCJAppDev'.where APJPRD is one of the role,Can anyone suggest what dynamic sql part has error?? |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-05-14 : 13:57:40
|
| usePRINT ('SELECT SAMAccountName as NTUSER,name as FULLNTNAME,givenname as FIRSTNAME,initials as MIDDLENAME,sn as LASTNAME,''' + @NAME + ''' as Rolename FROM OPENQUERY(ADSI, ''SELECT sAMAccountName,name,givenname,initials,sn FROM''''LDAP://DC=XYZ,DC=com''''WHEREMemberOf=''''' + @ADDRESS +''''' '')') first to see what string its builting before executing it |
 |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
Posted - 2008-05-14 : 14:19:35
|
| It is easiest to troubleshoot if you put your dynamic SQL into a variable. And then use PRINT until your query is correct. Once correct, comment out the PRINT command and then uncomment your EXEC.DECLARE @sql nvarchar(4000)SET @sql = '........'PRINT @sql--EXEC (@sql)Tara KizerMicrosoft MVP for Windows Server System - SQL Serverhttp://weblogs.sqlteam.com/tarad/Database maintenance routines:http://weblogs.sqlteam.com/tarad/archive/2004/07/02/1705.aspx |
 |
|
|
|
|
|
|
|