Rumah > pangkalan data > Oracle > teks badan

Bagaimana untuk menyelesaikan ralat 12505 Oracle

WBOY
Lepaskan: 2022-05-25 16:06:56
asal
15358 orang telah melayarinya

Sebab ralat 12505 ialah "nama_perkhidmatan" dan sid tidak konsisten. Penyelesaian: 1. Gunakan "pilih INSTANCE_NAME dari v$instance" untuk mendapatkan sid semasa dalam pangkalan data 2. Isikan sid yang diperoleh ke dalam rentetan sambungan program pangkalan data;

Bagaimana untuk menyelesaikan ralat 12505 Oracle

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Cara menyelesaikan ralat 12505 Oracle

Sangat jelas bahawa gesaan 12505 muncul Pustaka contoh yang sepadan dengan sid tidak dapat ditemui, iaitu, "nama_perkhidmatan" Oracle adalah tidak konsisten. dengan sid.

Langkah penyelesaian

1. Laksanakan pernyataan ini:

select INSTANCE_NAME from v$instance;
Salin selepas log masuk

Dapatkan bahagian pustaka instance

Bagaimana untuk menyelesaikan ralat 12505 Oracle

2 Kemudian gunakan sid untuk log masuk ke sistem

ORA-12505:

Tiada masalah melog masuk ke pangkalan data menggunakan PL/SQL DEVELOPER dan SQLPLUS sebelum ini, bagaimanapun, apabila aplikasi disambungkan ke Oracle melalui JDBC, ia tidak dapat disambungkan dengan jayanya dan ralat ORA-12505 tidak berlaku pada masa ini ketahui SID yang diberikan dalam deskriptor sambung...

Selepas mencari, didapati bahawa nama_servis dan nama_sid Oracle tidak konsisten, dan PL/SQL DEVELOPER dan SQLPLUS menggunakan nama_perkhidmatan untuk menyambung, dan aplikasi bersambung mengikut sid_name, jadi PL/SQL DEVELOPER dan SQLPLUS boleh disambungkan dan digunakan Program tidak boleh menyambung.

Penerangan masalah:

Hari ini apabila menggunakan jdbc untuk menyambung ke pangkalan data oracle 10.2.0.1.0, ralat berikut berlaku:

Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
Salin selepas log masuk

Tetapi pangkalan data boleh disambungkan secara normal melalui plsql secara terus , atau anda boleh menyambung ke pangkalan data melalui sqlplus

Selepas nyahpepijat dan mencari maklumat yang berkaitan, punca masalah ditemui seperti berikut:

Apabila jdbc menyambung ke pangkalan data, anda perlu menggunakan nama_sid pangkalan data dan bukannya nama_servis pangkalan data

Apabila menggunakan plsql untuk menyambung ke pangkalan data, anda hanya memerlukan nama_perkhidmatan pangkalan data, jadi ubah suai nama_perkhidmatan dalam rentetan sambungan kepada sid_name

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat 12505 Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan