微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有 OPENROWSET 多个条件的 LDAP ADSDSOObject

如何解决具有 OPENROWSET 多个条件的 LDAP ADSDSOObject

我已经为此纠结了好几个小时,是时候寻求帮助了。

有谁知道在使用多个条件时如何使用 OPENROWSET 查询 LDAP ADSDSOObject? 我一直在尝试,但不断收到错误消息。问题在于 () 括号。有人可以告诉我如何解决这个问题吗?谢谢!

SELECT  TOP 901
            [USN]                 =  CONVERT(BIGINT,usnCreated),[Name]                =  CONVERT(VARCHAR(500),name),[Groups]              =  CONVERT(VARCHAR(MAX),distinguishedname),[System_Flags]        =  CONVERT(BIGINT,systemFlags),[Group_Created_Date]  =  whenCreated,[Group_Last_Modified] =  whenChanged
   FROM OPENROWSET('ADSDSOObject','source'; 'UserName'; 'Password','

  SELECT  name,distinguishedname,usnCreated,systemFlags,whenChanged,whenCreated
    FROM  ''LDAP://DC=one,DC=two''
   WHERE  (   objectClass  = ''group''
          OR  objectClass  = ''groupofnames'' 
          OR  objectClass  = ''groupofuniquenames''
          )
     AND  whenChanged > ''19000101000000.0Z''
ORDER BY  usnCreated

')

解决方法

OLE DB 查询不是 SQL。这是SQL方言。 请参考:SQL Dialect

SELECT  TOP 901
            [USN]                 =  CONVERT(BIGINT,usnCreated),[Name]                =  CONVERT(VARCHAR(500),name),[Groups]              =  CONVERT(VARCHAR(MAX),distinguishedName),[System_Flags]        =  CONVERT(BIGINT,systemFlags),[Group_Created_Date]  =  whenCreated,[Group_Last_Modified] =  whenChanged
   FROM OPENROWSET('ADSDSOObject','source'; 'UserName'; 'Password','
  SELECT  name,distinguishedName,usnCreated,systemFlags,whenChanged,whenCreated
    FROM  ''LDAP://your ldap...''
   WHERE objectClass  = ''group''
    or objectClass  = ''groupofnames'' 
          OR  objectClass  = ''groupofuniquenames''
')
Where whenChanged > '1900-01-01'
ORDER BY  usnCreated

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。