Gunakan tnsnames.ora di Oracle SQL Developer

139

Saya sedang mengevaluasi Pengembang Oracle SQL .

Saya tnsnames.oradiisi, dan tnspingke koneksi yang ditentukan dalam tnsnames.oraberfungsi dengan baik. Namun, Pengembang SQL tidak menampilkan koneksi apa pun.

Oracle SQL Developer Soars menyebutkan, jika

Anda memiliki perangkat lunak klien Oracle dan file tnsnames.ora sudah terinstal di mesin Anda, Oracle SQL Developer akan secara otomatis mengisi navigator Connections dari nama layanan bersih yang ditentukan di tnsnames.ora.

Saya juga mencoba mengatur TNS_ADMINvariabel lingkungan saya , tetapi setelah memulai ulang SQL Developer masih tidak ada koneksi yang ditampilkan.

Ada ide?
Adakah yang berhasil bekerja dengan SQL Developer dan tnsnames.ora?

Peter Lang
sumber
Saya mengunduh dan menginstal Oracle SQL Developer untuk terhubung ke database Oracle 11g yang sudah ada. Tetapi tampaknya saya juga perlu mengunduh dan menginstal perangkat lunak klien Oracle, mana yang akan saya gunakan jika saya menggunakan Windows 10?
VoodooChild

Jawaban:

222
  • Dalam SQLDeveloper isi Tools --> Preferences, seperti yang ditunjukkan pada gambar di bawah.

    Preferensi akses SQLDeveloper

  • Dalam opsi Preferensiexpand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory tempat tnsnames.ora hadir.
  • Kemudian klik Ok , seperti yang ditunjukkan pada diagram di bawah ini.
    tnsnames.ora tersedia diDrive:\oracle\product\10x.x.x\client_x\NETWORK\ADMIN

    SQLDeveloper memperbarui direktori tnsnames

Sekarang Anda dapat terhubung melalui opsi TNSnames .

Chandra Sekhar
sumber
4
semuanya, Hanya sedikit pembaruan pada posting lama (tapi cukup membantu) ini: jangan mencoba menggunakan tautan simbolis di Windows. Pengembang SQL sepertinya tidak tahu cara menggunakannya. Membuat saya kehilangan waktu. Semoga ini akan menyelamatkan milikmu.
Hellday5432
@ Hellday5432 - Ya, itu benar. SQL Dev berjalan di Java yang tidak memahami pintasan; misalnya saat membuka file kita tidak bisa menggunakan shortcut untuk melompat ke direktori.
Kent Pawar
5
Pintasan Windows! = Tautan simbolik. howtogeek.com/howto/16226/…
Matt Lachman
Saya mengunduh dan menginstal Oracle SQL Developer untuk terhubung ke database Oracle 11g yang sudah ada. Tetapi tampaknya saya juga perlu mengunduh dan menginstal perangkat lunak klien Oracle, mana yang akan saya gunakan jika saya menggunakan Windows 10?
VoodooChild
Saya tidak melihat opsi direktori Tnsnanes di SQL Developer versi 1.5.5 saya.
Amit Chaurasia
24

Ini sangat baik jawaban untuk pertanyaan serupa (yang saya tidak bisa menemukan sebelumnya, sayangnya) membantu saya memecahkan masalah.

Menyalin Konten dari jawaban yang direferensikan:

Pengembang SQL akan mencari di lokasi berikut dalam urutan ini untuk file tnsnames.ora

$ HOME / .tnsnames.ora
$ TNS_ADMIN / tnsnames.ora
Kunci pencarian TNS_ADMIN di registri
/etc/tnsnames.ora (non-windows)
$ ORACLE_HOME / network / admin / tnsnames.ora
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
LocalMachine \ ORACLE \ ORACLE_HOME

Jika file tnsnames.ora Anda tidak dikenali, gunakan prosedur berikut:

Tentukan variabel lingkungan yang disebut TNS_ADMIN untuk diarahkan ke folder yang berisi file tnsnames.ora Anda.

Di Windows, ini dilakukan dengan menavigasi ke Panel Kontrol> Sistem> Pengaturan sistem lanjutan> Variabel Lingkungan ...
Di Linux, tentukan variabel TNS_ADMIN di file .profile di direktori home Anda.

Pastikan os mengenali variabel lingkungan ini

Dari baris perintah Windows: echo% TNS_ADMIN%

Dari linux: echo $ TNS_ADMIN

Restart SQL Developer Sekarang di SQL Developer klik kanan pada Connections dan pilih New Connection .... Pilih TNS sebagai jenis koneksi di kotak drop-down. Entri Anda dari tnsnames.ora sekarang akan ditampilkan di sini.

Peter Lang
sumber
3
Saya tahu ini sudah lama, tetapi dapatkah Anda menarik bagian yang relevan dari jawabannya di sini? Kalau-kalau jawaban itu (atau bahkan pertanyaannya) pernah dihapus.
Dennis Meng
1
pada dasarnya itu bulat ke pengaturan variabel sistem TNS_ADMIN (karena SQL Developer mencari di sana ~ pertama) dan, setelah memulai ulang SQL Developer, memilih Koneksi Baru, dan dalam daftar dropdown Jenis Koneksi, alih-alih Basic, memilih TNS - so - tnsnames terlihat baik-baik saja, tetapi Anda seharusnya tidak mengharapkan koneksi diisi secara otomatis (itu yang terjadi dengan saya)
hello_earth
pencarian membawa saya padanya, jadi telah memperbarui jawaban karena sudah ada referensi ke penulis @DennisMeng
TheGameiswar
7

Saya memiliki masalah yang sama, tnsnames.orabekerja dengan baik untuk semua alat lain tetapi Pengembang SQL tidak akan menggunakannya. Saya mencoba semua saran di web yang dapat saya temukan, termasuk solusi pada tautan yang disediakan di sini.
Tidak ada yang berhasil.

Ternyata bahwa database itu caching salinan cadangan dari tnsnames.oraseperti tnsnames.ora.bk2, tnsnames09042811AM4501.bak, tnsnames.ora.bkdll File-file ini tidak dapat dibaca oleh rata-rata pengguna.

Saya menduga sqldeveloper adalah pencocokan pola untuk nama dan mencoba membaca salah satu salinan cadangan ini dan tidak bisa. Jadi itu hanya gagal dengan anggun dan tidak menunjukkan apa-apa di daftar drop-down.

Solusinya adalah membuat semua file dapat dibaca atau menghapus atau memindahkan salinan cadangan dari direktori Admin.

Jim
sumber
Mungkin itulah yang Anda lihat. SQL Plus dan SQL Developer sama-sama melihat / parse / read tnsnames - jadi jika ada yang buruk, itu bisa menurun dan menyebabkan masalah Anda.
thatjeffsmith
0

Di versi macOS yang lebih baru, Anda juga harus mengaturnya java.library.path. Cara termudah / teraman untuk melakukannya [1] adalah dengan membuat ~/.sqldeveloper/<version>/sqldeveloper.conffile dan mengisinya seperti berikut:

AddVMOption -Djava.library.path=<instant client directory>

[1] https://community.oracle.com/message/14132189#14132189

dinvlad.dll
sumber