为通过 SQL 服务器查询 LDAP 的函数构建查询字符串
Build Query string for function to query LDAP via SQL Server
INPUT_STRING NVARCHAR(MAX)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @NewString NVARCHAR(MAX)
DECLARE @SelectClause NVARCHAR(MAX)
SET @INPUT_STRING = @NewString
SET @SelectClause = 'SELECT * FROM OpenQuery (' + '
ADSI, ' + '
''SELECT samaccountname
FROM ''LDAP://' + @NewString +
')'' + '' AS tblADSI'''
EXEC sp_EXECUTESQL @SelectClause
输入字符串是这样的
CN=firstName\, Lastname,OU=MyOU,OU=AnotherOU,OU=Accounts,DC=enterprisenet,DC=org
错误信息如前所述。
Msg 105, Level 15, State 1, Line 8
Unclosed quotation mark after the character string ')' + ' AS tblADSI'
EXEC sp_EXECUTESQL @SelectClause
如有帮助将不胜感激。
试试这个....
declare @INPUT_STRING nvarchar(MAX);
SET @INPUT_STRING = 'CN=firstName\, Lastname,OU=MyOU,OU=AnotherOU,OU=Accounts,DC=enterprisenet,DC=org';
DECLARE @NewString NVARCHAR(MAX)
DECLARE @SelectClause NVARCHAR(MAX)
SET @NewString = @INPUT_STRING
SET @SelectClause = N'SELECT * FROM OpenQuery (ADSI,'
+ N' ''SELECT samaccountname '
+ N' FROM ''''LDAP://' + @NewString + N''''' '') AS tblADSI'
检查
PRINT @SelectClause
SELECT *
FROM OpenQuery (ADSI,
'SELECT samaccountname
FROM ''LDAP://CN=firstName\, Lastname,OU=MyOU,OU=AnotherOU,OU=Accounts,DC=enterprisenet,DC=org''
') AS tblADSI
INPUT_STRING NVARCHAR(MAX)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @NewString NVARCHAR(MAX)
DECLARE @SelectClause NVARCHAR(MAX)
SET @INPUT_STRING = @NewString
SET @SelectClause = 'SELECT * FROM OpenQuery (' + '
ADSI, ' + '
''SELECT samaccountname
FROM ''LDAP://' + @NewString +
')'' + '' AS tblADSI'''
EXEC sp_EXECUTESQL @SelectClause
输入字符串是这样的
CN=firstName\, Lastname,OU=MyOU,OU=AnotherOU,OU=Accounts,DC=enterprisenet,DC=org
错误信息如前所述。
Msg 105, Level 15, State 1, Line 8
Unclosed quotation mark after the character string ')' + ' AS tblADSI' EXEC sp_EXECUTESQL @SelectClause
如有帮助将不胜感激。
试试这个....
declare @INPUT_STRING nvarchar(MAX);
SET @INPUT_STRING = 'CN=firstName\, Lastname,OU=MyOU,OU=AnotherOU,OU=Accounts,DC=enterprisenet,DC=org';
DECLARE @NewString NVARCHAR(MAX)
DECLARE @SelectClause NVARCHAR(MAX)
SET @NewString = @INPUT_STRING
SET @SelectClause = N'SELECT * FROM OpenQuery (ADSI,'
+ N' ''SELECT samaccountname '
+ N' FROM ''''LDAP://' + @NewString + N''''' '') AS tblADSI'
检查
PRINT @SelectClause
SELECT *
FROM OpenQuery (ADSI,
'SELECT samaccountname
FROM ''LDAP://CN=firstName\, Lastname,OU=MyOU,OU=AnotherOU,OU=Accounts,DC=enterprisenet,DC=org''
') AS tblADSI