Cara menginstal driver Oracle OLE untuk digunakan dalam SQL Server 2008 R2 x64

10

Sesuai prosedur standar yang telah kami gunakan selama bertahun-tahun untuk versi Oracle dan SQL Server sebelumnya, saya telah menginstal paket ODAC terbaru Oracle, yang mencakup driver Oracle OLE ke node SQL Server 2008 R2 x64 baru kami. Saya telah melakukan reboot sistem yang disarankan, tetapi OraOLEDB.Oracle tidak muncul di simpul Linked Servers \ Providers di SSMS. Satu-satunya perbedaan antara instalasi ini dan instalasi SQL Server sebelumnya adalah bahwa saya sekarang menggunakan SQL Server x64 (pada Windows 2008 R2). Haruskah ini membuat perbedaan?

Perhatikan bahwa saya dapat terhubung ke server Oracle menggunakan SQL * Plus dari node SQL Server secara langsung. Satu-satunya hal yang saya lewatkan adalah Penyedia itu. Adakah yang tahu apa yang saya lewatkan? Ada banyak posting di seluruh web, tetapi tampaknya ada banyak kebingungan dan tautan usang ke halaman unduh Oracle.

Satu-satunya hal yang saya harus bisa lakukan adalah membuat server yang terhubung ke Oracle, dan menjalankan query pilih terhadapnya. Saya tidak perlu melakukan apa pun melalui Visual Studio.

Beberapa pria
sumber
Saya punya jawaban yang lebih sederhana untuk bagaimana melakukan ini, tetapi itu melibatkan driver Oracle 12 dan SQL Server 2012. Haruskah saya menambahkan jawaban untuk pertanyaan ini atau mengajukan pertanyaan baru?
Baodad

Jawaban:

15

Setelah berjam-jam penelitian, saya berhasil mengumpulkan beberapa instruksi kerja untuk Oracle 11g R2. Ternyata, Anda mungkin perlu menginstal klien 32 dan 64 bit agar semuanya berfungsi di BIDS / Visual Studio / SSMS. Saya mungkin telah menginstal lebih banyak komponen Oracle daripada yang saya butuhkan, tetapi inilah yang bekerja untuk saya:

  1. Unduh 32 dan 64-bit klien dari http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (klik "lihat semua" untuk melihat versi yang berbeda, jika tidak, Anda akan mengunduh selesaikan program Oracle. Unduhan Anda masing-masing sekitar 600 mcg)
  2. Jalankan instal 32-Bit pada SQL Server. Pilih "Kustom"
  3. Untuk Oracle Base, masukkan "C: \ Oracle"
  4. Untuk "Lokasi Perangkat Lunak", ubah ke C: \ Oracle \ product \ 11.2.0 \ client_ 32
  5. Pilih komponen berikut:
  6. SQL * Plus
  7. Oracle Call Interface (OCI)
  8. Oracle Net
  9. Layanan Oracle untuk Server Transaksi Microsoft
  10. Asisten Administrasi Oracle untuk Windows
  11. Penyedia Oracle untuk OLE DB
  12. Penyedia Data Oracle untuk .NET
  13. Penyedia Oracle untuk ASP.NET
  14. Ulangi langkah di atas dengan penginstal 64-bit. NAMUN, ubah "Lokasi Perangkat Lunak" menjadi C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. Saya mendapat kesalahan memori pada saat ini, tetapi memilih untuk mengabaikannya karena saya tahu ada cukup
  16. Abaikan kesalahan "OracleMTSRecoveryService sudah ada"

Sekarang setelah instalasi selesai, hanya perlu men-tweak beberapa hal.

  1. Buat perubahan registri untuk HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib harus berupa oci.dll
  3. OracleSqlLib harus orasql11.dll
  4. OracleXaLib harus oraclient11.dll
  5. Buat perubahan registri yang sama ke HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
  6. Buat atau salin tnsnames.ora baru di C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Buat atau salin tnsnames.ora baru di C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. Nyalakan kembali!
  9. Anda sekarang harus melihat OraOLEDB.Oracle sebagai penyedia di bawah Server \ Server yang Disedia di Penyedia
  10. Klik kanan penyedia ini, lalu Properti, lalu centang kotak untuk "Izinkan Proses"
  11. Anda sekarang dapat membuat server tertaut melalui GUI atau T-SQL

Semoga berhasil!

Beberapa pria
sumber
1
Saya memiliki masalah yang sama (Sql Server 2008 R2 64x menghubungkan ke Oracle 8), dan menyelesaikannya dengan mengikuti instruksi Anda. Untungnya, saya hanya perlu menginstal klien 64 bit. Terima kasih!
santiiiii
Saya menginstalnya tanpa SQL * Plus dan Asisten Administrasi, dan tanpa perubahan registri pada mesin x64 dan berhasil.
Gabriel Guimarães
Hai @omeGuy, bisakah saya menggunakan instruksi Anda dengan 12c juga terima kasih
Willie Cheng
Lihat ukuran unduhan - 3.1GB untuk Oracle Client terbaru untuk Windows x64 versi 19C.
Mike
0

Ya, arsitektur sistem membuat banyak perbedaan.

Anda perlu menginstal perangkat lunak klien x64 Oracle untuk Windows.

Massimo
sumber
Saya tidak bisa menemukan komponen x64 untuk 11g di situs Oracle tanpa mengunduh seluruh klien x64 yang 2GB. ODAC sepertinya hanya naik hingga 10g. Adakah yang memperhatikan ini? Saya akan mencoba klien lengkap untuk saat ini, tetapi saya belum pernah melakukannya sebelumnya. Mungkin mereka akan merilis ODAC 11g untuk x64 di masa depan.
SomeGuy
Klien ~ 615 MB, paket 2GB adalah produk lengkap; lihat di sini: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Massimo
2
@OmeGuy sebenarnya ada ODAC untuk 11g, Anda tidak dapat menemukannya karena situs web oracle berantakan.
Gabriel Guimarães