【发布时间】:2014-01-21 15:54:19
【问题描述】:
你能告诉我我应该把COLLATE DATABASE_DEFAULT
要创建以下视图吗?
我进行了搜索,发现我应该把 where 子句的每一边都放好。我尝试了所有可能的方法,但仍然收到相同的错误,说“无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突。
这里是查询:
CREATE view [dbo].[NewADUsers] AS SELECT
tbl.objectGUID AS UserGUID
, SUBSTRING(tbl.Email, CHARINDEX('@', tbl.Email)+1,
LEN(tbl.Email)- CHARINDEX('@',tbl.Email)) AS 'DomainName'
, gd.GroupName, dsg.DefaultSubGroup, tbl.sAMAccountName
, tbl.sAMAccountName AS UserName, tbl.Email AS Email
FROM (
SELECT
"SAMAccountName" AS sAMAccountName, "mail" AS Email, "objectGUID" AS objectGUID
FROM OpenQuery(
ADSI,
'SELECT SAMAccountName, mail, objectGUID
FROM ''LDAP://mydomain.com/OU=blah,OU=blah,OU=blah,DC=mydomain,DC=com''
WHERE objectClass=''User'''))
AS tbl
INNER JOIN dbo.GroupsDomains gd ON gd.DomainName = SUBSTRING(tbl.Email, CHARINDEX('@', tbl.Email)+1, LEN(tbl.Email)- CHARINDEX('@',tbl.Email))
LEFT JOIN dbo.DefaultSubGroups dsg ON gd.GroupName = dsg.GroupName
WHERE tbl.objectGUID NOT IN (SELECT UserGUID FROM dbo.Users)
去
【问题讨论】:
标签: sql-server active-directory