Oracle 接続マネージャーを使用する場合のDTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER
この記事は、Oracle 接続マネージャーを使用するときに発生する問題を解決するのに役立ちます。
元の製品バージョン: SQL Server
元の KB 番号: 2009312
現象
いずれかのSQL Serverについて、次のシナリオを検討してください。
- ビジネス インテリジェンス開発スタジオ (BIDS) を使用して、SQL Server Integration Services (SSIS) パッケージを設計します。
- パッケージでは、OLEDB プロバイダー for Oracle を使用して Oracle サーバーに接続し、Oracle クライアント 10G または 11G を使用します。
- パッケージ構成ファイルを使用して、実行時に Oracle 接続のすべての接続プロパティを設定します。
このシナリオでは、BIDS からパッケージを実行すると、次のエラー メッセージが表示されます
"エラー: パッケージ、接続マネージャー "OLEDB プロバイダー"で0xC0202009: SSIS エラー コード DTS_E_OLEDBERROR。 OLE DB エラーが発生しました。 エラー コード: 0x80040E21。
OLE DB レコードを使用できます。 ソース: "Microsoft OLE DB サービス コンポーネント" Hresult: 0x80040E21 説明: "複数ステップ OLE DB 操作によってエラーが生成されました。 使用可能な場合は、各 OLE DB 状態値を確認します。 作業は行われませんでした。
エラー: Data Flow タスクで0xC020801C、Oracle OLEDB ソース [1]: SSIS エラー コード DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 接続マネージャー "OLEDB プロバイダー" への AcquireConnection メソッドの呼び出しがエラー コード 0xC0202009で失敗しました。 この前に、AcquireConnection メソッドの呼び出しが失敗した理由の詳細を示すエラー メッセージが投稿される場合があります。
エラー: DATA FLOW タスク (DTS) で0xC0047017。パイプライン: コンポーネント "Oracle OLEDB Source" (1) は検証に失敗し、エラー コード 0xC020801Cを返しました。
原因
これは、構成ファイルの 初期カタログ プロパティが Oracle プロバイダーによって認識されないという事実が原因です。 構成ファイル内の Oracle 接続マネージャーの場合、これは空白です。
たとえば、BIDS を使用して Oracle サーバーに接続する SSIS パッケージを作成すると、次の XML 構成ファイルが生成されます。
<?xml version="1.0"?>
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="MyUserName" GeneratedFromPackageName="MyPackage" GeneratedFromPackageID="<guid>" GeneratedDate="2/22/2010 9:00:00 PM"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Connections[MyConnectionManager].Properties[ConnectionString]" ValueType="String">
<ConfiguredValue>Data Source=MyServerName;User ID=MyAccount;Password=MyPassword; **Initial Catalog=**; Provider=MSDAORA.1;Persist Security Info=True;</ConfiguredValue>
</Configuration>
</DTSConfiguration>
解決方法
BIDS Designerを使用して構成ファイルを作成または編集するときに、[初期カタログ] の [チェック] ボックスを削除します。
たとえば、[原因] セクションに示されている構成ファイルの例の固定バージョンは次のようになります。
<?xml version="1.0"?>
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="MyUserName" GeneratedFromPackageName="MyPackage" GeneratedFromPackageID="<guid>" GeneratedDate="2/22/2010 9:00:00 PM"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Connections[MyConnectionManager].Properties[ConnectionString]" ValueType="String">
<ConfiguredValue>Data Source=MyServerName;User ID=MyAccount;Password=MyPassword;Provider=MSDAORA.1;Persist Security Info=True;</ConfiguredValue>
</Configuration>
</DTSConfiguration>
詳細
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示