Baru-baru ini pelanggan berbagi solusi yang menyelesaikan masalah yang terjadi saat menggunakan pengandar ODBC SQL Server kami untuk menyambungkan Oracle ke SQL Server. Kesalahan yang didapat pelanggan adalah:
DELETE FROM mytable@MYLINKEDDATABASE WHERE MyCol = 'MyValue'; 17:01:01 [DELETE - 0 row(s), 0.000 secs] [Error Code: 2070, SQL State: 42000] ORA-02070: database MYLINKEDDATABASE does not support some function in this context
dan ini diselesaikan oleh:
SQL> select fds_class_name from HS_FDS_CLASS; ODBC11.2.0.2.0_0008 exec dbms_hs.replace_class_caps('ODBC11.2.0.2.0_0008', 564,'ODBC11.2.0.2.0_0008',564, 8191,NULL,1); PL/SQL procedure successfully completed. SQL> commit; Commit complete
Di Oracle, "SELECT FDS_CLASS_NAME FROM HS_FDS_CLASS" akan mengembalikan string yang mengidentifikasi versi DG4ODBC Anda. Mis.:
ODBC11.2.0.2.0_0008
Menjalankan kueri ini:
SELECT * FROM HS_CLASS_CAPS WHERE FDS_CLASS_NAME ='ODBC11.2.0.2.0_0008';
mengembalikan sejumlah "kemampuan" yang menunjukkan bagaimana DG4ODBC dikonfigurasi untuk berperilaku.
Pada contoh yang ditunjukkan sebelumnya, kolom pelanggan adalah NVARCHAR
Tipe. Di bawah arahan dukungan Oracle, pelanggan mengubah perilaku DG4ODBC sehubungan dengan tipe data ini.
Pelanggan menemukan bidang yang relevan di HS_CLASS_CAPS
:
564 TO_NCHAR(op1) 0
dan mengubahnya dengan paket Oracle, DBMS_HS.ALTER_CLASS_CAPS
.
Perhatikan bahwa apa yang dilakukan oleh berbagai kemampuan DG4ODBC tampaknya tidak didokumentasikan di mana pun secara publik. Oleh karena itu, blog ini tidak dapat memberikan panduan khusus tentang cara menggunakannya untuk menyelesaikan masalah tertentu. Sebagai gantinya, blog disediakan untuk membuat Anda sadar bahwa Anda memiliki alat lain yang Anda inginkan, jika mengedit parameter dalam file konfigurasi DG4ODBC, init
Lihat Juga
- Hapus atau Perbarui Pernyataan Menggunakan TG4MSQL 10.2 atau DG4ODBC 11.2 Merujuk Bidang Nvarchar Di Mana Klausul Memberikan Kesalahan ORA-2070
- Re:Masalah dengan Oracle Database Gateway untuk ODBC dan Unicode