LDAP SSIS在ADO.NET数据源上抛出一般错误

时间:2012-02-08 00:32:03

标签: ado.net ssis ldap oledb

使用LDAP运行我的SSIS时,我在ADO数据源上出现此错误:

  

[LDAP源1]错误:组件“LDAP源”(1)无法执行   处理数据。 'ADsDSOObject'失败,没有错误消息   可用,结果代码:-2147016669(0x80072023)。

     

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。该   组件“LDAP Source”(1)上的PrimeOutput方法返回错误代码   0xC02090F5。组件在管道时返回了失败代码   引擎称为PrimeOutput()。失败代码的含义是   由组件定义,但错误是致命的和管道   停止执行。在此之前可能会发布错误消息   有关失败的更多信息。

我在Connection Manager中将ADO Connection设置为使用OLE DB Provider for Microsoft Directory Services的ADO.NET Connection。示例如下:

enter image description here

我正在使用ADO.NET数据源使用如下所示的LDAP查询来查询我的AD:

SELECT sAMAccountName,cn FROM 'LDAP://DC=domain,DC=net' WHERE sAMAccountType = 805306368

运行我的数据预览时,它可以很好地预览。但是在运行包时,如果不抛出上述错误,它就不会超过数据源。注意:我还尝试在ADO.NET连接上将ADSI标志更改为1.

在使用与Microsoft Directory Services Provider的OLE DB提供程序的ADO.NET连接之前是否有其他人看到此错误?

2 个答案:

答案 0 :(得分:0)

查看我对Error : Cannot fetch a row from OLE DB provider "ADsDSOObject" for linked server "ADSI"的回答,看看是否有任何帮助。这似乎对我有用。

此外,您可能需要考虑使用ntdsutil.exe更改Active Directory中的MaxPageSize。有关详细信息,请参阅How to view and set LDAP policy in Active Directory by using Ntdsutil.exe

答案 1 :(得分:0)

不是使用ADO.NET Provider作为使用OLE DB的SSIS包的源。它将执行相同的操作,而不会遇到您可能遇到的所有错误。我已经解决了使用ADO.NET时遇到的每个错误,因为我认为这是用于SQL Server数据源的正确方法。不幸的是,无论我研究了多少论坛,我都只是删除了ADO.NET,并使用完全相同的连接和设置将其替换为OLE DB,并且始终执行干净的“ 成功”执行。