Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana Anda mengatur server tertaut ke database Oracle pada SQL 2000/2005?

Saya dapat menyiapkan server tertaut ke database Oracle jarak jauh, yang akhirnya menjadi proses multi-langkah:

  1. Instal driver Oracle ODBC di SQL Server.
  2. Buat DSN Sistem ke database Oracle di SQL Server.
  3. Buat server tertaut di server SQL menggunakan Sistem DSN.

Langkah 1:Instal driver Oracle ODBC di server

sebuah. Unduh paket Oracle Instant Client yang diperlukan:Basic, ODBC, dan SQL*Plus (opsional)

b. Buka zip paket ke direktori lokal di server SQL, biasanya C:\Oracle . Ini akan menghasilkan [direktori] seperti C:\Oracle\instantclient_10_2 , yang akan menjadi nilai [direktori] yang dirujuk di sisa jawaban ini.

c. Buat file teks bernama tnsnames.ora dalam [direktori] klien instan yang berisi berikut ini:

OracleTnsName = 
(
  DESCRIPTION=
  (
    ADDRESS = (PROTOCOL=TCP)(HOST=10.1.3.42)(PORT=1521)
  )
  (
    CONNECT_DATA = (SERVICE_NAME=acc)
  )
)

Catatan:HOST Act yang sebenarnya , PORT , dan SERVICE_NAME akan bervariasi berdasarkan server Oracle tempat Anda membuat koneksi. Informasi ini sering dapat ditemukan menggunakan alat klien jaringan Oracle di bawah pendengar .

OracleTnsName dapat berupa nama apa pun yang ingin Anda tetapkan ke sumber data Oracle, dan akan digunakan saat menyiapkan sistem DSN. Anda juga dapat menggunakan sintaks di atas untuk mendefinisikan beberapa nama TNS dalam file tnsnames.ora yang sama jika diinginkan.

d. Tambahkan [direktori] ke sistem PATH variabel lingkungan.

e. Buat variabel lingkungan sistem baru bernama TNS_Admin yang memiliki nilai [direktori]

f. Jalankan [directory]\odbc_install.exe utilitas untuk menginstal driver Oracle ODBC.

g. Direkomendasikan agar Anda me-reboot server SQL, tetapi mungkin tidak diperlukan. Selain itu, Anda mungkin ingin memberikan izin keamanan ke direktori ini untuk server SQL dan identitas pengguna agen SQL.

Langkah 2:Buat DNS Sistem yang menggunakan driver Oracle ODBC

sebuah. Buka Administrator Sumber Data ODBC alat. [ Alat Administratif --> Sumber Data (ODBC) ]

b. Pilih tab System DSN lalu pilih tombol Add.

c. Dalam daftar driver, pilih Oracle di instantclient {version} . (mis. 'Oracle in instantclient 10_2') lalu pilih tombol Selesai.

d. Tentukan berikut ini:

  • Data Source Name :{Nama DSN Sistem}
  • Description :{kosongkan/kosongkan}
  • TNS Service Name :harus memiliki OracleTnsName Anda definisikan di tnsnames.ora file terdaftar, pilih sebagai nilainya.
  • ID Pengguna :{Nama pengguna Oracle}

e. Pilih tombol Uji Koneksi. Anda akan diminta untuk memberikan {Oracle user password}. Jika semuanya berjalan dengan baik, tes akan berhasil.

Langkah 3:Buat server tertaut di SQL ke database Oracle

Buka jendela kueri di server SQL dan jalankan perintah berikut:

EXEC sp_addlinkedserver 
     @server        = '{Linked Server Name}'
    ,@srvproduct    = '{System DSN Name}'
    ,@provider      = 'MSDASQL'
    ,@datasrc       = '{System DSN Name}'

EXEC sp_addlinkedsrvlogin 
     @rmtsrvname    = '{Linked Server Name}'
    ,@useself       = 'False'
    ,@locallogin    = NULL
    ,@rmtuser       = '{Oracle User Name}'
    ,@rmtpassword   = '{Oracle User Password}'

Catatan:{Linked Server Name} bisa apa saja yang ingin Anda gunakan saat mereferensikan server Oracle, tetapi {System DNS Name} harus cocok dengan nama sistem DSN yang Anda buat sebelumnya.

{Oracle User Name} harus sama dengan User ID yang digunakan oleh sistem DSN, dan {Oracle User Password} harus sama dengan yang Anda gunakan untuk menguji koneksi ODBC dengan sukses. Lihat KB 280106 untuk informasi tentang pemecahan masalah server terkait Oracle.

Meminta server tertaut Oracle

Anda dapat menggunakan OPENQUERY untuk mengeksekusi kueri pass-through pada server tertaut Oracle, tetapi perlu diketahui bahwa untuk kumpulan data yang sangat besar, Anda mungkin menerima ORA-01652 pesan kesalahan jika Anda menentukan ORDER BY klausa dalam kueri pass-through. Memindahkan ORDER BY klausa dari kueri pass-through ke pernyataan pemilihan luar memecahkan masalah ini untuk saya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00904 Pengidentifikasi tidak valid” untuk pengidentifikasi dalam grup berdasarkan klausa

  2. Pilih tanpa klausa FROM di Oracle

  3. ORA-28000:akun sering error

  4. Menggunakan Parameter dengan Koneksi ODBC Oracle

  5. Dialek hibernasi untuk Oracle Database 11g?