Saya mencoba untuk menyambung ke database oracle dengan SQL Developer.
Saya telah menginstal driver oracle .Net dan menempatkan tnsnames.ora
file di
C:\Oracle\product\11.1.0\client_1\Network\Admin
Saya menggunakan format berikut di tnsnames.ora:
dev =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = idpdev2)
)
)
Di SQL Developer, ketika saya mencoba membuat koneksi baru, tidak ada nama TNS yang muncul sebagai opsi.
Apakah ada sesuatu yang saya lewatkan?
$TNS_ADMIN
apakah DIRECTORY bukanlah.ora
file sebenarnyaBuka Pengembang SQL. Pergi ke Tools -> Preferences -> Databases -> Advanced Kemudian secara eksplisit mengatur Direktori Tnsnames
TNSNAMES saya telah diatur dengan benar dan saya dapat terhubung ke Toad, SQL * Plus, dll. Tetapi saya perlu melakukan ini agar SQL Developer berfungsi. Mungkin itu adalah masalah Win 7 karena sulit untuk menginstal juga.
sumber
Dalam SQLDeveloper isi
Tools --> Preferences
, seperti yang ditunjukkan pada gambar di bawah.Dalam opsi Preferensi
expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory
tempat tnsnames.ora hadir.Kemudian klik Ok .
seperti yang ditunjukkan pada diagram di bawah ini.
Sekarang Anda dapat terhubung melalui opsi TNSnames .
sumber
Anda selalu dapat mengetahui lokasi file tnsnames.ora yang digunakan dengan menjalankan TNSPING untuk memeriksa konektivitas (9i atau lebih baru):
Terkadang, masalahnya ada pada entri yang Anda buat di tnsnames.ora, bukan karena sistem tidak dapat menemukannya. Yang mengatakan, saya setuju bahwa memiliki set variabel lingkungan tns_admin adalah Hal yang Baik, karena ini menghindari masalah tak terelakkan yang muncul dengan menentukan dengan tepat file tnsnames mana yang digunakan dalam sistem dengan beberapa rumah oracle.
sumber
Langkah-langkah yang disebutkan oleh Jason sangat bagus dan seharusnya berhasil. Ada sedikit perbedaan dengan SQL Developer. Itu cache spesifikasi koneksi (host, nama layanan, port) saat pertama kali membaca file tnsnames.ora. Kemudian, itu tidak membatalkan spesifikasi ketika entri asli dihapus dari file tnsname.ora. Cache tetap ada bahkan setelah Pengembang SQL dihentikan dan dimulai ulang. Ini bukanlah cara yang tidak logis untuk menangani situasi. Meskipun file tnsnames.ora untuk sementara tidak tersedia, SQL Developer masih dapat membuat koneksi selama spesifikasi aslinya masih benar. Masalahnya datang dengan perubahan kecil berikutnya. Pengembang SQL memperlakukan nama layanan di file tnsnames.ora sebagai nilai peka huruf besar kecil saat menyelesaikan koneksi. Jadi kalau dulu punya entry name ABCD. dunia dalam file dan Anda menggantinya dengan entri baru bernama abcd.world, Pengembang SQL TIDAK akan memperbarui spesifikasi koneksinya untuk ABCD.world - ia akan memperlakukan abcd.world sebagai koneksi yang berbeda sama sekali. Mengapa saya tidak terkejut bahwa produk Oracle akan memperlakukan konten format file yang dikembangkan oracle sebagai peka huruf besar kecil yang secara tegas tidak peka huruf besar / kecil?
sumber
Dalam Pengembang Sql, pilih Alat-> preferensi-> Datababae-> lanjutan-> Setel direktori Tnsname ke direktori yang berisi tnsnames.ora
sumber
Tak satu pun dari perubahan di atas membuat perbedaan apa pun dalam kasus saya. Saya bisa menjalankan TNS_PING di jendela perintah tetapi Pengembang SQL tidak tahu di mana tnsnames.ora berada.
Masalah dalam kasus saya (Windows 7 - 64 bit - Enterprise) adalah bahwa penginstal Oracle mengarahkan pintasan menu Start ke versi SQL Developer yang salah. Tampaknya ada tiga contoh Pengembang SQL yang menyertai penginstal. Satu di% ORACLE_HOME% \ client_1 \ sqldeveloper \ dan dua di% ORACLE_HOME% \ client_1 \ sqldeveloper \ bin \.
Penginstal memasang pintasan menu mulai yang menunjuk ke versi di direktori bin yang sama sekali tidak berfungsi. Itu akan meminta kata sandi setiap kali saya memulai SQL Developer, tidak ingat pilihan yang telah saya buat dan menampilkan daftar kosong ketika saya memilih TNS sebagai mekanisme koneksi. Itu juga tidak memiliki bidang Direktori TNS di pengaturan lanjutan Database yang dirujuk di posting lain.
Saya membuang pintasan Mulai yang lama dan menginstal pintasan ke% ORACLE_HOME% \ client_1 \ sqldeveloper \ sqldeveloper.exe. Perubahan itu memperbaiki masalah dalam kasus saya.
sumber