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

Tautan basis data Oracle - sambungkan ke proxy dengan karakter khusus di nama pengguna

Ini harus bekerja, dengan atau tanpa karakter khusus; ini di 11.2.0.3, pertama tanpa:

CREATE USER "AUSER" IDENTIFIED BY "a";
CREATE USER bar IDENTIFIED BY "random-trash";
ALTER USER bar GRANT CONNECT THROUGH "AUSER";
GRANT CREATE SESSION TO "AUSER";
GRANT CREATE SESSION TO "BAR";

CREATE PUBLIC DATABASE LINK dbl CONNECT TO "AUSER[BAR]" IDENTIFIED BY "a" using 'MYDB';
SELECT * FROM [email protected];

D
-
X

Dan dengan:

CREATE USER "A-USER" IDENTIFIED BY "a";
CREATE USER foo IDENTIFIED BY "random-trash";
ALTER USER foo GRANT CONNECT THROUGH "A-USER";
GRANT CREATE SESSION TO "A-USER";
GRANT CREATE SESSION TO "FOO";

DROP PUBLIC DATABASE LINK dbl;
CREATE PUBLIC DATABASE LINK dbl CONNECT TO "A-USER[FOO]" IDENTIFIED BY "a" using 'MYDB';
SELECT * FROM [email protected];

D
-
X

Tidak ada yang berfungsi pada 11.2.0.4; dengan atau tanpa karakter khusus itu kesalahan:

select * from [email protected]
                   *
ERROR at line 1:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from DBL

Jika Anda menggunakan 11.2.0.4 atau lebih tinggi maka Anda mungkin terkena bug 19191702, yang tampaknya telah merusak kemampuan proxy melalui tautan basis data. Lihat catatan MOS 19191702.8 untuk informasi lebih lanjut. Ini tampaknya merupakan perilaku baru yang disengaja daripada bug, dan perilaku lama - di mana ini berhasil - digambarkan sebagai salah.

Mungkin ada tambalan yang tersedia untuk memungkinkan acara tertentu diatur yang mengembalikan perilaku (dan seharusnya tersedia di 12.2), tetapi sebagai "solusi sementara untuk mengizinkan aplikasi yang ada, bergantung pada perilaku yang salah [lama], untuk terus kerja". Jika tidak ada tambalan untuk platform dan versi Anda atau acara tidak membantu, maka Anda harus mengajukan permintaan layanan; mungkin layak untuk membesarkannya tentu saja.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java - Bagaimana cara memanggil prosedur Oracle dengan tipe khusus?

  2. Prosedur eksekusi klausa kasus

  3. Kesalahan Oracle:[:ke:operator tidak dikenal

  4. Kembalikan Baris yang Mengandung Nilai Numerik di Oracle

  5. Kompatibilitas Oracle 19c dengan jdk7