SQL Server 2008 R2 x64で使用するOracle OLEドライバーをインストールする方法


10

OracleとSQL Serverの両方の以前のバージョンで長年使用してきた標準的な手順に従って、Oracle OLEドライバーを含むOracleの最新のODACパッケージを新しいSQL Server 2008 R2 x64ノードにインストールしました。推奨されるシステムの再起動を実行しましたが、SSMSのLinked Servers \ ProvidersノードにOraOLEDB.Oracleが表示されません。このインストールと以前のSQL Serverインストールの唯一の違いは、現在Windows Server 2008 R2でSQL Server x64を使用していることです。これは何か違いがありますか?

SQL ServerノードからSQL * Plusを使用してOracleサーバーに直接接続できることに注意してください。私が欠けている唯一のものはそのプロバイダーです。誰が私が欠けているものを知っていますか?Webの周りには多くの投稿がありますが、Oracleのダウンロードページへの多くの混乱と古いリンクがあるようです。

私ができる必要があるのは、Oracleへのリンクサーバーを作成し、それに対して選択クエリを実行することだけです。Visual Studioで何もする必要はありません。


これを行う方法についてもっと簡単な答えがありますが、これにはOracle 12ドライバーとSQL Server 2012が含まれます。この質問に答えを追加するか、新しい質問をする必要がありますか?
Baodad

回答:


15

何時間もの調査の後、私はなんとかOracle 11g R2の作業手順をまとめることができました。結局のところ、BIDS / Visual Studio / SSMSで機能するためには、32ビットクライアントと64ビットクライアントの両方がインストールされている必要があります。必要以上に多くのOracleコンポーネントをインストールした可能性がありますが、次のものがうまくいきました。

  1. 32ビットクライアントと64ビットクライアントをhttp://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlからダウンロードします ([すべて表示]をクリックして別のバージョンを表示します。それ以外の場合は、完全なOracleプログラム。ダウンロードはそれぞれ約600 MBになるはずです)
  2. SQL Serverで32ビットインストールを実行します。「カスタム」を選択
  3. Oracle Baseの場合、「C:\ Oracle」と入力します
  4. 「ソフトウェアの場所」については、C:\ Oracle \ product \ 11.2.0 \ client_ 32に変更します。
  5. 次のコンポーネントを選択します。
  6. SQL * Plus
  7. Oracle Call Interface(OCI)
  8. オラクルネット
  9. Oracle Services for Microsoft Transaction Server
  10. Windows用のOracle Administration Assistant
  11. Oracle Provider for OLE DB
  12. Oracle Data Provider for .NET
  13. Oracle Providers for ASP.NET
  14. 64ビットインストーラーで上記の手順を繰り返します。ただし、「ソフトウェアの場所」をC:\ Oracle \ product \ 11.2.0 \ client_ 64に変更します。
  15. この時点でメモリエラーが発生しましたが、十分にあることがわかっているため、無視することにしました
  16. 「OracleMTSRecoveryServiceはすでに存在します」というエラーは無視してください。

インストールが完了したので、いくつかの調整が必要です。

  1. レジストリをHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCIに変更します。
  2. OracleOciLibはoci.dllである必要があります
  3. OracleSqlLibはorasql11.dllである必要があります
  4. OracleXaLibはoraclient11.dllである必要があります
  5. 作る同じ HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432NODE \マイクロソフト\ MSDTC \ MTXOCIにレジストリの変更を
  6. C:\ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ adminに新しいtnsnames.oraを作成またはコピーします
  7. C:\ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ adminに新しいtnsnames.oraを作成またはコピーします
  8. リブート!
  9. SSMSのLinked Servers \ Providersの下にプロバイダーとしてOraOLEDB.Oracleが表示されます。
  10. このプロバイダーを右クリックし、[プロパティ]を右クリックして、[インプロセスを許可する]チェックボックスをオンにします。
  11. GUIまたはT-SQLを使用してリンクサーバーを作成できるようになりました

幸運を!


1
同じ問題(Oracle 8に接続するSQL Server 2008 R2 64x)があり、指示に従って解決しました。幸い、64ビットクライアントをインストールする必要がありました。ありがとう!
santiiiii 2010年

SQL * PlusとAdministration Assistantを使用せずにインストールし、x64マシンでレジストリを変更せずにインストールしたところ、問題なく動作しました。
ガブリエルギマランイス

こんにちは@SomeGuyは12cでもあなたの指示を使用できます。ありがとう
Willie Cheng

最新のOracle Client for Windows x64バージョン19Cのダウンロードサイズは3.1GBです。
Mike

0

はい、システムアーキテクチャは作るたくさんの違いのを。

Windows用のx64 Oracleクライアントソフトウェアをインストールする必要があります。


2GBのx64クライアント全体をダウンロードしないと、Oracleサイトで11gのx64コンポーネントを見つけることができないようです。ODACは10gまでしか上がっていないようです。他の誰かがこれに気づいていますか?私は今のところ完全なクライアントを試してみるつもりですが、これまでにそうする必要はありませんでした。多分彼らは将来的にx64向けのODAC 11gをリリースするでしょう。
SomeGuy 2010

クライアントは約615 MB、2GBパッケージは完全な製品です。ここを参照してください:oracle.com/technetwork/database/enterprise-edition/downloads/…
Massimo

2
@SomeGuyには実際には11gのODACがありますが、OracleのWebサイトは混乱しているため、見つけることができませんでした。
ガブリエルギマランイス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.