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

发布于 2025-01-03 19:45:08 字数 961 浏览 6 评论 0原文

使用 LDAP 运行 SSIS 时,我在 ADO 数据源上收到此错误:

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

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

我在连接管理器中将 ADO 连接设置为使用 Microsoft 目录服务的 OLE DB 提供程序的 ADO.NET 连接。下面的示例:

在此处输入图像描述

我正在使用 ADO.NET 数据源来使用 LDAP 查询来查询我的 AD,该查询看起来像这样:

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

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

以前是否有人在将 ADO.NET 连接与 Microsoft 目录服务提供程序的 OLE DB 提供程序一起使用时看到过此错误?

When running my SSIS using LDAP, I get this error on my ADO Datasource:

[LDAP Source 1] Error: The component "LDAP Source" (1) was unable to
process the data. 'ADsDSOObject' failed with no error message
available, result code: -2147016669(0x80072023).

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The
PrimeOutput method on component "LDAP Source" (1) returned error code
0xC02090F5. The component returned a failure code when the pipeline
engine called PrimeOutput(). The meaning of the failure code is
defined by the component, but the error is fatal and the pipeline
stopped executing. There may be error messages posted before this
with more information about the failure.

I have an ADO Connection set up in my Connection Manager as an ADO.NET Connection using a OLE DB Provider for Microsoft Directory Services. Example below:

enter image description here

I'm using an ADO.NET Datasource to Query my AD using an LDAP query that looks like this:

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

When running a preview of my Data, it pulls a preview nicely. But when running the package, it doesn't get past the Datasource without throwing the above error. Note: I've also attempted to change the ADSI Flag to 1 on the ADO.NET Connection.

Has anyone else seen this error before when using a ADO.NET Connection with an OLE DB Provider for Microsoft Directory Services Provider?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鱼忆七猫命九 2025-01-10 19:45:08

看看我对 错误:无法从链接服务器“ADSI”的 OLE DB 提供程序“ADsDSOObject”获取行并查看是否有帮助。这似乎总是对我有用。

另外,您可能需要考虑使用 ntdsutil.exe 更改 Active Directory 中的 MaxPageSize。有关详细信息,请参阅如何使用 Ntdsutil.exe 查看和设置 Active Directory 中的 LDAP 策略

Have a look at my answer to Error : Cannot fetch a row from OLE DB provider "ADsDSOObject" for linked server "ADSI" and see if any of it helps. This always seems to work for me.

Also, you may want to consider changing MaxPageSize in Active Directory using ntdsutil.exe. See How to view and set LDAP policy in Active Directory by using Ntdsutil.exe for more details.

凌乱心跳 2025-01-10 19:45:08

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

Instead of using ADO.NET Provider as your source for SSIS Packages using OLE DB. It will perform the same operations without all of the errors that you're probably running into. I've resolved every error I had while using ADO.NET because I thought it was the proper thing to use for my SQL Server Data Source. Unfortunately, no matter how many forums I've researched, I simply removed the ADO.NET and replaced it with OLE DB using the exact same connections and settings and have always had a clean "Success" Execution.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文