新しい開発マシンがあり、従来の SSIS パッケージをサポートする必要があります。新しいマシンは、SSD プライマリ ドライブ (C:) とデータ用の通常の HDD (D:) を備えた Windows 8 64 ビットです。その上に、BIDS 2008 R2 (および TFS2010 で動作させるためのすべてのトリック) と、VS2010、ODAC 32 ビットおよび 64 ビット (私は??)、Oracle クライアント (SQLDeveloper) をインストールしました。
以下を取得して、Oracle データベースに問題なく接続できます。
- MSDAORA を使用した VS2010
- ODAC を使用した VS2010
- ADO.NET を使用した VS2010
- Oracle OLE DB プロバイダーで .udl ファイルを使用して接続をテストします (MS プロバイダーはここではオプションとして表示されません)。
- SQLDeveloper (Oracle のクライアント ツール)
私ができないように見えるのは、BIDS 2008 R2 を任意の方法 (MSDAORA、ADO.NET、ODAC) を使用して Oracle に接続することです。
問題は私のマシンに限定されているようです。それ以外の場合は、これらのパッケージを他のマシンで問題なく開いて、表示、検証、接続、および実行できます。
私は次のことを試しました:
- すべての TNSNAMES ファイルが正しく、同一であることを確認しました (他のマシンから作業コピーを取得します。これは VS2010 で正常に機能することを忘れないでください)。
- ORACLE_HOME および TNS_ADMIN 環境変数を作成し、それらを D:\app\username\product\11.2.0 内のさまざまなディレクトリに向けました。
- レジストリを手動でチェックして、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE のエントリ以外に ORACLE への参照がないことを確認しました
- アンインストール/再インストールされた SQL Server 2008 R2 コンポーネント
- 私が試したすべての検索のすべてのスレッドで提供されるすべての「ソリューション」
- 鶏の骨を投げ、異教の神々に生贄を捧げた
修正を試行するたびに、データ フローで SQL コマンドをプレビューしようとすると、まだ次のエラーが表示されます。
OLE DB レコードが利用可能です。ソース: 「Microsoft OLE DB Provider for Oracle」 Hresult: 0x80004005 説明: 「エラー ORA-01019 のテキストを取得しようとしているときにエラーが発生しました」
はい、ODAC を優先して MSDAORA を削除する必要があることはわかっています。ODAC が BIDS 2008 R2 で機能する場合は、必ずそうします。ただし、そこでOracleに接続するものは何も得られません(前述のように、他のさまざまなツールでは正常に接続されますが)
D:\app\username\product\11.2.0に 2 つの "client_ n " ディレクトリがあります。前述のように、環境変数を内部のさまざまなパスに向けようとしました。ORACLE_HOME の正しいパスは D:\app\username\product\11.2.0 のようです。正しいですか?
VS2010 もインストールされた WINDOWS 8 で BIDS 2008 R2 を Oracle に接続できた人はいますか? 単純な Oracle 接続の問題のように思えます。トラブルシューティングを行うには、Oracle について十分な知識がありません。
他に試すアイデアはありますか?