DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER Oracle 连接管理器时配置
09/15/2020
本文内容
本文帮助您解决使用 Oracle 连接管理器时发生的问题。
原始产品版本: SQL Server
原始 KB 编号: 2009312
症状
请考虑以下适用于任一SQL Server:
使用 Business Intelligence Development (Studio SQL Server Integration Services (BIDS) 设计一个 SSIS) 。
在程序包中,使用 OLEDB 提供程序为 Oracle 连接到 Oracle 服务器,并使用 Oracle 客户端 10G 或 11G。
使用包配置文件在运行时设置 Oracle 连接的所有连接属性。
在这种情况下,如果从 BIDS 执行包,则得到以下错误消息
"Error: 0xC0202009 at Package, Connection manager "OLEDB Provider": SSIS Error Code DTS_E_OLEDBERROR. 发生了 OLE DB 错误。 错误代码:0x80040E21。
OLE DB 记录可用。 源:"Microsoft OLE DB Service Components" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. 检查每个 OLE DB 状态值(如果可用)。 未完成任何工作。"。
错误:数据流任务中的 0xC020801C,Oracle OLEDB 源 [1]:SSIS 错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 对连接管理器"OLEDB 提供程序"的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。 之前可能会发布错误消息,并提供有关 AcquireConnection 方法调用失败原因的详细信息。
错误:数据流任务 DTS 中为 0xC0047017。管道:组件"Oracle OLEDB Source" (1) 验证失败,并返回错误代码 0xC020801C。"
原因
这是因为 Oracle 提供程序无法识别配置文件中的 Initial Catalog 属性。 对于配置文件中的 Oracle 连接管理器,此参数为空。
例如,当您使用 BIDS 创建连接到 Oracle 服务器的 SSIS 包时,将生成以下 XML 配置文件:
Data Source=MyServerName;User ID=MyAccount;Password=MyPassword; **Initial Catalog=**; Provider=MSDAORA.1;Persist Security Info=True;
解决方案
通过 BIDS Designer 创建或编辑配置文件时,请删除"初始目录"复选框。
例如,"原因"部分中显示的示例配置文件的固定版本将如下所示:
Data Source=MyServerName;User ID=MyAccount;Password=MyPassword;Provider=MSDAORA.1;Persist Security Info=True;
更多信息