我正在尝试在SSIS中创建一个包,它将从我的AD中读取值并保存到数据库中的表中。
当我运行此查询时:
SELECT * FROM OpenQuery (
ADSI,
'SELECT whenCreated, whenChanged, [...], badPasswordTime, sAMAccountName
FROM ''LDAP://mydomain.com/OU=ouUsers,DC=MYDOMAIN,DC=com''
WHERE objectClass = ''User'' AND displayName <> ''__Template__''
') AS tblADSI
ORDER BY sAMAccountName
要求提供很多不同的属性,我得到 whenChanged 和 whenCreated 的日期时间值(格式为2018-01-01 00:00:00.000
),但是其他所有值的刻度值日期时间属性 - 例如 badPasswordTime , lastLogon 等。
但是,当我在SSIS中运行基本相同的查询时(作为ADO.NET源,在一行中):
<LDAP://mydomain.com/OU=ouUsers,DC=MYDOMAIN,DC=com>;
(&(objectClass=user)(!displayName=__Template__));
sAMAccountName, badPasswordTime, [...]. whenChanged, whenCreated
当我点击预览... 时,datetime属性的值显示为 System .__ ComObject ( whenChanged 和 whenCreated ,就像之前一样。)
我可以将 whenChanged 和 whenCreated 值转换为DT_DATE,稍后在SSIS中将其转换为奇数,因为所有这些日期时间属性在AD中都具有相同的格式(如{{ 1}})。
您能否建议如何将所有这些日期时间属性纳入DT_DATE?