ใช้ tnsnames.ora ใน Oracle SQL Developer


137

ฉันกำลังประเมินOracle SQL Developer

ฉันtnsnames.oraมีประชากรและ a tnspingถึงการเชื่อมต่อที่กำหนดในการtnsnames.oraทำงานได้ดี ถึงกระนั้น SQL Developer ไม่แสดงการเชื่อมต่อใด ๆ

Oracle SQL Developer Soarsกล่าวถึงว่าถ้า

คุณมีซอฟต์แวร์ไคลเอนต์ Oracle และไฟล์ tnsnames.ora ติดตั้งไว้แล้วในเครื่องของคุณ Oracle SQL Developer จะเติมข้อมูลเนวิเกเตอร์ Connections โดยอัตโนมัติจากชื่อบริการสุทธิที่กำหนดไว้ใน tnsnames.ora

ฉันพยายามตั้งค่าTNS_ADMINตัวแปรสภาพแวดล้อมของฉันด้วย แต่หลังจากรีสตาร์ท SQL Developer ยังคงไม่มีการเชื่อมต่อปรากฏขึ้น

ความคิดใด ๆ
ทุกคนประสบความสำเร็จในการทำงานกับ SQL Developer และ tnsnames.ora หรือไม่


ฉันดาวน์โหลดและติดตั้ง Oracle SQL Developer เพื่อเชื่อมต่อกับฐานข้อมูล Oracle 11g ที่มีอยู่แล้ว แต่ดูเหมือนว่าฉันจะต้องดาวน์โหลดและติดตั้งซอฟต์แวร์ไคลเอนต์ Oracle เช่นกันฉันควรใช้อันไหนถ้าฉันใช้ Windows 10
VoodooChild

คำตอบ:


219
  • ในการเรียกดูSQLDeveloperTools --> Preferencesดังแสดงในภาพด้านล่าง

    การตั้งค่าการเข้าถึง SQLDeveloper

  • ในการตั้งค่าตัวเลือกexpand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directoryที่tnsnames.oraปัจจุบัน
  • จากนั้นคลิกที่ตกลงดังแสดงในแผนภาพด้านล่าง
    tnsnames.oraมีให้ที่Drive:\oracle\product\10x.x.x\client_x\NETWORK\ADMIN

    SQLDeveloper อัพเดตไดเร็กทอรี tnsnames

ตอนนี้คุณสามารถเชื่อมต่อผ่านตัวเลือกTNSnames


4
ทุกคนเพียงอัปเดตเล็กน้อยในโพสต์เก่า (แต่ค่อนข้างมีประโยชน์) โพสต์นี้: อย่าพยายามใช้ลิงก์สัญลักษณ์บน Windows SQL developper ดูเหมือนจะไม่รู้วิธีใช้งาน ทำให้ฉันเสียเวลา หวังว่ามันจะช่วยคุณได้
Hellday5432

@ Hellday5432 - ใช่ถูกต้อง SQL Dev รันบน Java ซึ่งไม่เข้าใจทางลัด; เช่นเมื่อเปิดไฟล์เราไม่สามารถใช้ทางลัดเพื่อข้ามไปยังไดเรกทอรี
Kent Pawar

5
ทางลัด Windows! = ลิงก์สัญลักษณ์ howtogeek.com/howto/16226/…
Matt Lachman

ฉันดาวน์โหลดและติดตั้ง Oracle SQL Developer เพื่อเชื่อมต่อกับฐานข้อมูล Oracle 11g ที่มีอยู่แล้ว แต่ดูเหมือนว่าฉันจะต้องดาวน์โหลดและติดตั้งซอฟต์แวร์ไคลเอนต์ Oracle เช่นกันฉันควรใช้อันไหนถ้าฉันใช้ Windows 10
VoodooChild

ฉันไม่เห็นตัวเลือกไดเรกทอรี Tnsnanes ใน SQL Developer รุ่น 1.5.5
Amit Chaurasia

24

นี้เป็นคำตอบที่ดีที่จะเป็นคำถามที่คล้ายกัน (ที่ผมไม่สามารถหาก่อนที่จะโชคไม่ดี) ช่วยให้ฉันแก้ปัญหา

คัดลอกเนื้อหาจากคำตอบอ้างอิง:

ผู้พัฒนา SQL จะค้นหาตำแหน่งต่อไปนี้ตามลำดับนี้สำหรับไฟล์ tnsnames.ora

$ HOME / .tnsnames.ora
$ TNS_ADMIN / tnsnames.ora
TNS_ADMIN ค้นหาคีย์ในรีจิสทรี
/etc/tnsnames.ora (ไม่ใช่หน้าต่าง)
/ / admin / tnsnames.ora เครือข่าย $ ORACLE_HOME
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME

หากไฟล์ tnsnames.ora ของคุณไม่ได้รับการจดจำให้ใช้ขั้นตอนต่อไปนี้:

กำหนดตัวแปรสภาพแวดล้อมที่เรียกว่า TNS_ADMIN ให้ชี้ไปที่โฟลเดอร์ที่มีไฟล์ tnsnames.ora ของคุณ

ใน Windows ทำได้โดยไปที่แผงควบคุม> ระบบ> การตั้งค่าระบบขั้นสูง> ตัวแปรสภาพแวดล้อม ...
ใน Linux กำหนดตัวแปร TNS_ADMIN ในไฟล์. profile ในโฮมไดเร็กตอรี่ของคุณ

ยืนยันระบบปฏิบัติการกำลังรับรู้ถึงตัวแปรสภาพแวดล้อมนี้

จากบรรทัดคำสั่ง Windows: echo% TNS_ADMIN%

จาก linux: echo $ TNS_ADMIN

รีสตาร์ท SQL Developer ทันทีใน SQL Developer คลิกขวาที่การเชื่อมต่อและเลือกการเชื่อมต่อใหม่ ... เลือก TNS เป็นประเภทการเชื่อมต่อในกล่องแบบหล่นลง รายการของคุณจาก tnsnames.ora ควรแสดงที่นี่แล้ว


3
ฉันรู้ว่าไม่นานมานี้ แต่คุณสามารถดึงส่วนที่เกี่ยวข้องออกจากคำตอบได้ไหม ในกรณีที่คำตอบ (หรือแม้แต่คำถาม) เคยถูกลบ
Dennis Meng

1
โดยพื้นฐานแล้วมันจะทำการตั้งค่าตัวแปรระบบ TNS_ADMIN (เพราะ SQL Developer ค้นหาที่นั่น ~ แรก) และหลังจากรีสตาร์ท SQL Developer เลือกการเชื่อมต่อใหม่และในรายการดรอปดาวน์ประเภทการเชื่อมต่อแทนที่จะเป็นพื้นฐานเลือก TNS - ดังนั้น - tnsnames จะไม่เป็นไร คุณไม่ควรคาดหวังว่าการเชื่อมต่อจะได้รับการเติมโดยอัตโนมัติ (เป็นกรณีของฉัน)
hello_earth

ค้นหาเอาฉันเธอดังนั้นมีการปรับปรุงคำตอบเนื่องจากมีการอ้างอิงถึงผู้เขียน @DennisMeng แล้ว
TheGameiswar

7

ฉันมีปัญหาเดียวกันtnsnames.oraทำงานได้ดีสำหรับเครื่องมืออื่น ๆ ทั้งหมด แต่ SQL Developer จะไม่ใช้มัน ฉันลองใช้คำแนะนำทั้งหมดบนเว็บที่ฉันสามารถหาได้รวมถึงวิธีแก้ไขปัญหาในลิงก์ที่ให้ไว้ที่นี่
ไม่มีอะไรทำงาน

แต่กลับกลายเป็นว่าฐานข้อมูลถูกแคชสำเนาสำรองของtnsnames.oraเช่นtnsnames.ora.bk2, tnsnames09042811AM4501.bak,tnsnames.ora.bkไฟล์ ฯลฯ เหล่านี้ไม่สามารถอ่านได้โดยใช้ค่าเฉลี่ย

ฉันสงสัยว่า sqldeveloper กำลังจับคู่รูปแบบสำหรับชื่อและพยายามอ่านสำเนาสำรองหนึ่งชุดและทำไม่ได้ ดังนั้นมันจึงล้มเหลวอย่างสวยงามและไม่แสดงรายการใด ๆ ในรายการแบบหล่นลง

วิธีแก้ไขคือทำให้ไฟล์ทั้งหมดอ่านหรือลบหรือย้ายสำเนาสำรองออกจากไดเรกทอรีผู้ดูแลระบบ


นั่นอาจเป็นสิ่งที่คุณเห็น ทั้ง SQL Plus และ SQL Developer จะเห็น / parse / read tnsnames - ดังนั้นถ้าตัวของตัวเองไม่ดีนั่นอาจทำให้ล้มลงและทำให้เกิดปัญหาของคุณ
thatjeffsmith


0

ในรุ่นใหม่ของ MacOS java.library.pathหนึ่งนอกจากนี้ยังมีชุด วิธีที่ง่ายที่สุด / ปลอดภัยที่สุดในการทำ [1] คือการสร้าง~/.sqldeveloper/<version>/sqldeveloper.confไฟล์และเติมข้อมูลให้กับมัน:

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.