Menghubungkan Oracle ke SQL Server adalah salah satu kasus penggunaan paling umum untuk driver ODBC Easysoft SQL Server. Mendukung kombinasi ini tidak hanya melibatkan pemberian bantuan dalam menyiapkan driver kami. Ini juga berarti membantu menyelesaikan masalah konfigurasi Oracle yang mencegah Oracle Heterogeneous Services mendapatkan sejauh memuat driver kami.
Baru-baru ini, pelanggan driver SQL Server ODBC melaporkan kesalahan berikut kepada kami:
ORA-28513: internal error in heterogeneous remote agent
Pelanggan dapat memberi kami log pelacakan DG4ODBC, yang memberi tahu kami dua hal:
- File konfigurasi Oracle (.ora) telah diatur dengan benar. Jika file ini berisi kesalahan (misalnya tanda kurung hilang atau tidak relevan), tidak ada log pelacakan DG4ODBC yang akan dibuat.
- DG4ODBC bahkan tidak mencoba memuat Pengelola Driver unixODBC.
Dalam situasi seperti ini di mana log Oracle DG4ODBC tidak mengidentifikasi masalah (biasanya akan selalu berisi lebih banyak informasi daripada kesalahan ORA-NNNNN yang dilaporkan oleh aplikasi), dan pencatatan ODBC belum memungkinkan, kami menggunakan strace
atau truss
. Misalnya:
- Mulai dua sesi shell sebagai pengguna Oracle.
- Di shell 1, hentikan pendengar Oracle.
- Mulai pendengar dengan perintah ini:
strace -f -o /tmp/easysoft.log -s 512 lsnrctl start
—Atau—
truss -wall -rall -o /tmp/easysoft.log lsnrctl start
- Di shell 2, mulai SQL*PLus dan jalankan pernyataan SQL terhadap link database DG4ODBC / SQL Server.
- Di shell 2, hentikan pendengar Oracle.
Namun alat penelusuran pustaka sistem (truss
dalam kasus pelanggan) masih belum mengungkapkan penyebab masalahnya.
Pada akhirnya, ternyata pelanggan yang menyetel ORA_NLS10
variabel lingkungan, dan efek samping dari melakukan ini adalah untuk mencegah DG4ODBC bekerja. Karena variabel tidak perlu disetel pada mesin ini, menghapus setelan dan menghapusnya dari file profil adalah solusi untuk masalah pelanggan.