64 bit 環境上における Oracle からデータ取得する Integration Services プロジェクト (SSIS パッケージ) の注意事項 - 開発編

SQL Server Developer サポートエンジニア

藤丸 陽子

 

64 bit 環境上で Oracle へ接続する SSIS パッケージを開発するお客様からよくお問い合わせをいただく問題とその対処方法について皆様にご紹介します。 

 

現象

64 bit 環境上で SSIS パッケージ開発の際、Oracle へ接続する接続マネージャからの接続テストが下記エラーで失敗する。

Microsoft OLE DB Provider for Oracle プロバイダを使用した場合

---- エラー -----
プロバイダの初期化中にエラーが発生したため接続テストに失敗しました。
Oracle クライアントとネットワークコンポーネントが見つかりません。これらのコンポーネントは Oracle Corporation から提供され、Oracle Version 7.3.3 (またはそれ以降) のクライアント ソフトウェアの一部としてインストールされます。
プロバイダーは、これらのコンポーネントがインストールされるまで機能しません。
------------------

Oracle Provider for OLE DB プロバイダを使用した場合

------ エラー ------
指定されたプロバイダーはサポートされていません。接続マネージャで別のプロバイダを選択してください。
--------------------

 

要因

64 bit 環境上の Business Intelligence Development Studio で SSIS パッケージを作成、デバッグ実行すると、既定で 64 bit モードで起動されます。
64 bit モードでデバッグ実行されるため、SSIS パッケージ内でのデータ接続には 64 bit のプロバイダーが必要となります。 

このため、64 bit 環境の開発環境に 64 bit の Oracle プロバイダーがインストールされていない場合、前述のエラーでパッケージのデバッグ実行、ならびに、接続テストが失敗します。

 

対処方法

下記いずれかの方法がございます。 

 

対処方法 A) 32 bit モードで、SSIS パッケージをデバッグ実行する 

Business Intelligence Development Studio で SSIS パッケージをデバッグ実行する際、ソリューションエクスプローラ配下のルートである Integration Services プロジェクトを右クリックし、プロパティを選択します。 
[デバッグ] プロパティの Run64BitRuntime を既定の True から False に変更します。 

 

 

対処方法 B) 64 bit 環境の開発環境に 64 bit のプロバイダをインストールする

Oracle 接続用の 64 bit プロバイダーをインストールします。 

なお、64 bit のMicrosoft OLE DB Provider for Oracle は提供しておりません。

その為、Oracle 社のプロバイダ等、64 bit プロバイダーをインストールし、SSIS パッケージ開発時にも、そのプロバイダを使用し、Oracle へ接続する接続マネージャを作成下さい。

 

補足

SSIS パッケージでの Oracle へのデータ接続で、64 bit モードの実行をサポートしている、Microsoft Connector for Oracle by Attunity というものがあります。
このインストール方法については、別の機会に案内いたします。