Artikel ini selangkah demi selangkah menjelaskan cara mengatur terkait
server dari komputer yang menjalankan Microsoft SQL Server database Oracle dan juga
menyediakan langkah-langkah pemecahan masalah dasar untuk kesalahan umum yang mungkin Anda alami ketika
Anda mengatur server yang terhubung ke Oracle.
Langkah-langkah untuk mendirikan sebuah server yang terhubung ke Oracle
Anda harus menginstal peranti penangkap lunak Oracle klien pada
komputer yang menjalankan SQL Server mana server terkait diatur.
Menginstal pengandar yang Anda inginkan pada komputer yang menjalankan SQL Server.
Microsoft hanya mendukung Microsoft
OLE DB penyedia untuk Oracle dan Microsoft ODBC Driver untuk Oracle. Jika Anda menggunakan pihak ketiga penyedia atau pengandar pihak ketiga untuk
terhubung ke Oracle, Anda harus menghubungi masing-masing vendor untuk setiap masalah yang mungkin Anda alami dengan menggunakan penyedia atau driver mereka.
Jika Anda menggunakan Microsoft
OLE DB penyedia untuk Oracle dan Microsoft ODBC Driver untuk Oracle, pertimbangkan hal berikut:
Penyedia OLE DB dan ODBC driver yang disertakan dengan
Microsoft Data akses komponen (MDAC) memerlukan SQL * Net 2.3.x, atau versi yang lebih baru. Anda harus menginstal Oracle 7.3.peranti penangkap lunak klien x , atau versi yang lebih baru, pada klien
komputer. komputer klien adalah komputer yang menjalankan SQL Server.
Pastikan bahwa Anda memiliki 2,5 MDAC, atau versi yang lebih baru, diinstal
pada komputer yang menjalankan SQL Server. Dengan MDAC 2.1, atau dengan versi sebelumnya, Anda tidak dapat terhubung ke
database yang menggunakan Oracle 8.x atau versi yang lebih baru.
Untuk mengaktifkan 2,5 MDAC, atau versi yang lebih baru, untuk bekerja dengan Oracle
peranti penangkap lunak klien, registri harus dimodifikasi pada komputer klien yang menjalankan SQL Server
seperti yang ditunjukkan dalam Daftar Tabel berikut.
Microsoft Windows NT,
Oracle Microsoft Windows 95,
Client Windows 98, and Windows 98 SE Microsoft Windows 2000
--------------------------------------------------------------------------
7.x [HKEY_LOCAL_MACHINE\SOFTWARE [HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\TransactionServer Microsoft\MSDTC\MTxOCI]
\Local Computer\My Computer] "OracleXaLib"="xa73.dll"
"OracleXaLib"="xa73.dll" "OracleSqlLib"="SQLLib18.dll"
"OracleSqlLib"="SQLLib18.dll" "OracleOciLib"="ociw32.dll"
"OracleOciLib"="ociw32.dll"
8.0 [HKEY_LOCAL_MACHINE\SOFTWARE [HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Transaction Server \Microsoft\MSDTC\MTxOCI]
\Local Computer\My Computer] "OracleXaLib"="xa80.dll"
"OracleXaLib"="xa80.dll" "OracleSqlLib"="sqllib80.dll"
"OracleSqlLib"="sqllib80.dll" "OracleOciLib"="oci.dll"
"OracleOciLib"="oci.dll"
8.1 [HKEY_LOCAL_MACHINE\SOFTWARE [HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Transaction Server \Microsoft\MSDTC\MTxOCI]
\Local Computer\My Computer] "OracleXaLib"="oraclient8.dll"
"OracleXaLib"="oraclient8.dll" "OracleSqlLib"="orasql8.dll"
"OracleSqlLib"="orasql8.dll" "OracleOciLib"="oci.dll"
"OracleOciLib"="oci.dll"
Restart komputer yang menjalankan SQL Server setelah Anda menginstal
peranti penangkap lunak klien Oracle.
Pada komputer yang menjalankan SQL Server, mendirikan sebuah server yang terkait dengan menggunakan
skrip berikut.
Catatan Jika Anda menggunakan Microsoft ODBC Driver untuk Oracle, Anda dapat
Gunakan @datasrc parameter untuk menentukan nama DSN. Untuk koneksi DSN-kurang,
penyedia string disediakan melalui @provstr parameter. Dengan Microsoft OLE DB penyedia untuk Oracle, menggunakan
Oracle server alias yang dikonfigurasi dalam file TNSNames.Ora untuk @datasrc parameter. Untuk selengkapnya, lihat "sp_addlinkedserver"
Topik dalam SQL Server buku Online.
Pesan kesalahan umum
dan bagaimana untuk memecahkan masalah mereka
Penting Bagian ini, metode, atau tugas yang memuat langkah-langkah yang memberitahu Anda bagaimana untuk mengubah registri. Namun, masalah serius mungkin muncul saat Anda salah memodifikasi registri. Oleh karena itu, pastikan bahwa Anda mengikuti langkah-langkah ini dengan hati-hati. Untuk perlindungan tambahan, buat cadangan registri sebelum Anda memodifikasinya. Kemudian, Anda dapat memulihkan registri apabila ada masalah. Untuk informasi lebih lanjut tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
Cara membuat cadangan dan memulihkan registri pada Windows
Anda dapat menggunakan salah satu dari dua metode berikut untuk mengambil
Extended informasi tentang setiap kesalahan yang Anda alami saat Anda menjalankan
didistribusikan kueri.
Metode 1 Dalam Query Analyzer, jalankan kode berikut untuk mengaktifkan jejak bendera 7300.
DBCC Traceon(7300)
Metode 2 Menangkap peristiwa "Galat OLEDB" yang terletak di "kesalahan dan
Kategori acara peringatan"dalam SQL Profiler. Format pesan kesalahan
berikut:
Interface::method gagal dengan kode hex-kesalahan.
Anda dapat melihat kode hex-kesalahan dalam file Oledberr.h yang
termasuk dengan MDAC Software Development Kit (SDK).
Berikut adalah daftar sepuluh pesan kesalahan umum yang mungkin terjadi, bersama dengan informasi tentang
cara memecahkan masalah pesan galat.
Catatan Jika Anda menggunakan SQL Server 2005, pesan galat ini mungkin sedikit berbeda. Namun, kesalahan id pesan galat ini sama seperti mereka di SQL Server 2000. Oleh karena itu, Anda dapat mengidentifikasi mereka dengan kesalahan id.
Catatan Untuk isu-isu yang berkaitan dengan kinerja, Cari SQL Server buku
Online untuk topik "Mengoptimalkan didistribusikan permintaan".
Pesan 1
Galat 7399: Penyedia OLE DB '% ls'
melaporkan suatu galat. % ls
Mengaktifkan jejak bendera 7300 atau menggunakan SQL Profiler untuk menangkap acara "Galat OLEDB" untuk mengambil informasi kesalahan OLEDB diperpanjang.
2A pesan
"ORA-12154: TNS: tidak bisa menyelesaikan
nama layanan"
2B pesan
"Oracle(tm) klien dan jaringan
komponen tak ditemukan. Komponen ini disediakan oleh Oracle Corporation
dan bagian dari Oracle versi 7.3.3 (atau lebih besar) peranti penangkap lunak klien
instalasi"
Untuk informasi lebih lanjut tentang bagaimana memecahkan masalah konektivitas Oracle, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
Teknik untuk debug masalah konektivitas ke Oracle server menggunakan ODBC driver dan penyedia OLE DB
Pesan 3
Galat 7302: Tak bisa membuat
contoh dari penyedia OLE DB 'MSDAORA'
Pastikan bahwa berkas MSDAORA.dll terdaftar dengan benar. (MSDAORA.dll file adalah Microsoft OLE DB penyedia untuk Oracle file.) Gunakan RegSvr32.exe untuk mendaftar Microsoft OLE DB penyedia untuk Oracle. Jika registrasi gagal, instal ulang Microsoft Data akses komponen (MDAC). Untuk informasi lebih lanjut tentang MDAC, kunjungi Website Microsoft Developer Network (MSDN) berikut:
Catatan Jika Anda menggunakan pihak ketiga penyedia Oracle, dan penyedia Oracle tidak dapat berjalan di luar proses SQL Server, memungkinkannya untuk dijalankan dalam proses dengan mengubah
pilihan penyedia. Untuk mengubah pilihan penyedia, gunakan salah satu metode berikut.
Metode 1 Cari bukti kunci registri berikut. Kemudian, Ubah nilai entri AllowInProcess (DWORD) ke 1. bukti kunci registri ini terletak
di bawah nama penyedia yang bersangkutan:
Metode 2 Menyetel opsi Memungkinkan InProcess langsung melalui SQL Server Enterprise Manager ketika Anda
Tambahkan terkait server baru. Klik Pilihan penyedia, dan kemudian klik untuk memilih kotak centang yang Memungkinkan InProcess .
Pesan 4
Galat 7303: Tak bisa menginisialisasi
data sumber objek penyedia OLE DB 'MSDAORA'. [Penyedia OLE DB kembali
pesan: ORA-01017: tidak valid username/password; log-masuk ditolak] OLE DB kesalahan jejak
[Penyedia OLE DB 'MSDAORA' IDBInitialize::Initialize kembali 0x80040e4d].
Pesan kesalahan ini menunjukkan bahwa terkait server tidak memiliki login benar pemetaan. Anda dapat mengeksekusi sp_helplinkedsrvlogin disimpan prosedur untuk mengatur informasi login dengan benar. Juga,
memverifikasi bahwa Anda telah menetapkan parameter yang benar untuk terhubung
konfigurasi server.
Pesan 5
Galat 7306: Tidak dapat membuka Daftar Tabel '
% ls' dari penyedia OLE DB 'MSDAORA'. Daftar Tabel yang ditentukan tak ada.
[Penyedia OLE DB kembali pesan: tabel atak tidak ada.][Penyedia OLE DB
kembali pesan: ORA-00942: Daftar Tabel atau view tidak ada] OLE DB kesalahan jejak
[Penyedia OLE DB 'MSDAORA' IOpenRowset::OpenRowset kembali 0x80040e37:
Daftar Tabel yang ditentukan tak ada.].
Galat 7312:
Penggunaan yang tidak sah skema dan/atau katalog untuk penyedia OLE DB '% ls'. Empat bagian
nama ini diberikan, tetapi penyedia tidak mengekspos antarmuka yang diperlukan untuk
menggunakan katalog dan/atau skema.
Galat 7313:
Skema tidak valid atau katalog yang ditentukan untuk penyedia '% ls'.
ERR 7314: Penyedia OLE DB '% ls' tidak berisi Daftar Tabel '% ls'
Jika Anda menerima pesan galat ini, Daftar Tabel mungkin hilang dalam skema Oracle atau Anda mungkin tidak memiliki izin pada tabel atak. Pastikan bahwa nama skema yang telah diketik dengan menggunakan huruf besar. Kasus abjad Daftar Tabel dan kolom harus sebagaimana ditentukan dalam Daftar Tabel sistem Oracle.
Di sisi Oracle, Daftar Tabel atau kolom yang dibuat tanpa tanda kutip ganda disimpan dalam huruf besar. Jika Daftar Tabel atau kolom tertutup dalam tanda kutip ganda, Daftar Tabel atau kolom yang disimpan sebagai.
Panggilan berikut menunjukkan jika Daftar Tabel yang ada dalam skema Oracle. Panggilan ini juga menunjukkan nama Daftar Tabel yang tepat.
Query SQL didistribusikan dengan Oracle menyebabkan galat "Tidak dapat membuka tabel"
Pesan 6
Galat 7413: Tidak dapat menjalankan
Windows NT dikonfirmasi login karena delegasi tidak tersedia.
MSG 18456, Level 14, negara bagian 1, baris 1 Login
gagal untuk pengguna ' \'.
Informasi berikut ini dari SQL Server buku Online:
Pesan kesalahan ini menunjukkan bahwa didistribusikan query sedang mencoba untuk login Microsoft Windows dikonfirmasi tanpa eksplisit login pemetaan. sistem operasi dalam lingkungan di mana keamanan delegasi tidak didukung, Windows NT dikonfirmasi perlu login pemetaan eksplisit untuk remote login dan password yang dibuat menggunakan sp_addlinkedsrvlogin.
Pesan 7
Kesalahan 7354: Penyedia OLE DB
'MSDAORA' yang disediakan tak-sahih metadata untuk kolom '% ls'. Jenis data adalah tidak
didukung.
Jika Anda menerima pesan galat ini, Anda mungkin mengalami bug yang dijelaskan pada artikel Pangkalan Pengetahuan Microsoft berikut:
FIX: Numerik kolom dalam Oracle menyebabkan kesalahan 7354
Pesan 8
Galat 7356: Penyedia OLE DB
'MSDAORA' disediakan tidak konsisten metadata untuk kolom. Informasi metadata
berubah pada waktu eksekusi.
Jika query terkait server Anda menggunakan pandangan Oracle, Anda mungkin mengalami masalah yang dijelaskan pada artikel Pangkalan Pengetahuan Microsoft berikut:
Pertanyaan didistribusikan kembali kesalahan 7356 dengan MSDAORA
Pesan 9
Galat 7391: Operasi tidak bisa
dilakukan karena penyedia OLE DB 'MSDAORA' tidak mendukung didistribusikan
transaksi. OLE DB kesalahan jejak [penyedia OLE DB 'MSDAORA'
ITransactionJoin::JoinTransaction kembali 0x8004d01b]
Memverifikasi bahwa
OCI versi terdaftar dengan benar seperti dijelaskan sebelumnya dalam artikel ini.
Catatan Jika entri registri semua benar, MtxOCI.dll file
dimuat. Jika berkas MtxOCI.dll tidak dimuat, Anda tidak dapat melakukan terdistribusi
transaksi terhadap Oracle dengan menggunakan Microsoft OLE DB penyedia untuk Oracle atau
dengan menggunakan Microsoft ODBC Driver untuk Oracle. Jika Anda menggunakan penyedia pihak ketiga dan Anda
menerima galat 7391, verifikasikan bahwa penyedia OLE DB yang Anda gunakan mendukung
transaksi yang didistribusikan. Jika penyedia OLE DB mendukung didistribusikan
transaksi, memverifikasi bahwa Microsoft didistribusikan transaksi Koordinator
(MSDTC) sedang berjalan.
Pesan 10
Galat 7392: Tidak dapat mulai menjalankan
transaksi untuk penyedia OLE DB 'MSDAORA'. OLE DB kesalahan jejak [penyedia OLE DB
'MSDAORA' ITransactionLocal::StartTransaction kembali 0x8004d013:
ISOLEVEL = 4096].
Informasi berikut ini dari SQL Server buku Online:
Penyedia OLE DB kembali kesalahan 7392 karena hanya satu transaksi dapat aktif untuk sesi ini. Kesalahan ini menunjukkan bahwa modifikasi data pernyataan yang mencoba melawan penyedia OLE DB ketika sambungan dalam sebuah transaksi yang eksplisit atau tersirat, dan penyedia OLE DB tidak mendukung transaksi yang bersarang. SQL Server memerlukan dukungan ini sehingga, pada kondisi kesalahan tertentu, itu dapat mengakhiri efek modifikasi data pernyataan sambil terus dengan transaksi.
Jika SET XACT_ABORT ON, SQL Server tidak memerlukan bersarang
transaksi dukungan dari penyedia OLE DB. Oleh karena itu, mengeksekusi SET XACT_ABORT ON
sebelum Anda mengeksekusi pernyataan modifikasi data terhadap jauh Daftar Tabel dalam
implisit atau eksplisit transaksi. Melakukan hal ini dalam kasus penyedia OLE DB yang Anda gunakan Apakah
mendukung transaksi yang bersarang.
Galat
"-2147168246 (8004d00a)" gagal untuk mendaftarkan diri pada objek panggilan
transaksi
Untuk selengkapnya tentang cara menggunakan server terkait bersama-sama dengan DB2, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
ID Artikel: 280106 - Kajian Terakhir: 16 Januari 2013 - Revisi: 4.0
Berlaku bagi:
Microsoft SQL Server 2000 Standard Edition
Microsoft SQL Server 2000 64-bit Edition
Microsoft SQL Server 7.0 Standard Edition
Microsoft SQL Server 2005 Standard Edition
Microsoft SQL Server 2005 Developer Edition
Microsoft SQL Server 2005 Enterprise Edition
Microsoft SQL Server 2005 Express Edition
Microsoft SQL Server 2005 Workgroup Edition
Kata kunci:
kbsqlsetup kbhowtomaster kbmt KB280106 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 280106
Köszönjük! Ez az információ segítséget nyújt számunkra, hogy fejlesszük a támogatási tartalmat. További támogatási lehet?ségekért keresse fel a következ? webhelyet: Súgó és támogatási webhely.