2011-10-03 6 views
7

2 यूआरएल सिंटैक्स, पुराना वाक्यविन्यास है जो केवल एसआईडी और ओरेकल सेवा नाम के साथ नया काम करेगा।
पुरानी वाक्य रचनाओरेकल वॉलेट का उपयोग होने पर सही जेडीबीसी यूआरएल सिंटैक्स क्या है?

jdbc:oracle:thin:@[HOST][:PORT]:SID 

नई वाक्य रचना

jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE 

ओरेकल पर्स उपयोग किया जाता है, तो सही JDBC URL सिंटैक्स क्या है?
URL सिंटैक्स निम्नलिखित this article के अनुसार इस्तेमाल किया जाना चाहिए:

jdbc:oracle:thin:/@db_alias 

लेकिन जैसा कि मैंने निम्न URL भी काम करता है देख सकते हैं:

jdbc:oracle:thin:@db_alias 

इन वाक्यविन्यास में से कौन सही हैं?

उत्तर

19

जब आप जेडीबीसी स्ट्रिंग के साथ ओरेकल वॉलेट का उपयोग कर रहे हैं, दोनों सिंटैक्स को की अनुमति है, जब तक कि आपके वॉलेट स्टोर में "db_alias" सेटअप हो।

अब, जहाँ तक एसक्यूएल * का उपयोग कर के रूप में प्लस Oracle वॉलेट के साथ, केवल प्रारूप ओरेकल वॉलेट के साथ अनुमति दी है:

/@db_alias 

वैसे, उस लेख आप संदर्भित (और others) आप केवल कनेक्ट कर सकते हैं निर्दिष्ट करता है यदि आप ओसीआई ड्राइवरों का उपयोग करते हैं, न कि पतले ग्राहक का उपयोग करते हैं तो जेडीबीसी का उपयोग करना। यह आमतौर पर होता है क्योंकि जावा को ओरेकल टीएनएस और एसक्यूएलएनईटी फाइलों का कोई ज्ञान नहीं था। यह वास्तव में सच नहीं है; आप नवीनतम ओरेकल क्लाइंट & जेडीबीसी ड्राइवर्स के साथ जेडीबीसी पतली ड्राइवर का उपयोग कर कनेक्ट कर सकते हैं, लेकिन इसके लिए बस कुछ सेटअप की आवश्यकता है। उस पर जानकारी के लिए http://tech.shopzilla.com/2011/09/oracle-wallet-with-thin-driver-with-connection-pool-with-database-timeouts/ देखें, और नीचे एक संक्षिप्त सारांश के लिए।

JDBC पतला ड्राइवर के साथ Oracle वॉलेट का उपयोग करना

  1. कॉन्फ़िगर Oracle वॉलेट as usual के साथ-साथ (जो Oracle डाटाबेस क्लाइंट के साथ आता है), आपके tnsnames.ora और sqlnet.ora फाइलों में उचित प्रविष्टियां आपके वॉलेट में क्रेडेंशियल एंट्री
  2. अपने जावा क्लासपाथ में निम्नलिखित JAR जोड़ें।आप Oracle 11g ग्राहक से इन मिलना चाहिए, और वे "JDBC" और/या "jlib" जहां ग्राहक स्थापित की निर्देशिका में पाया जा सकता
    • ओरेकल JDBC ड्राइवर है - ojdbc6.jar
    • ओरेकल वॉलेट - oraclepki.jar
    • ओरेकल सुरक्षा Certs - osdt_cert.jar
    • ओरेकल सुरक्षा कोर - osdt_core.jar
  3. , निम्न सिस्टम गुण के साथ अपने जावा अनुप्रयोग प्रारंभ करें पर इंगित अपने-अपने टीएनएस और बटुआ निर्देशिका: बिना किसी समस्या के jdbc:oracle:thin:/@MY_WALLET_DB_ENTRY
+1

Wokred ठीक:

  • -Doracle.net.tns_admin=C:\myTNSdir
  • -Doracle.net.wallet_location=C:\mywalletdir
  • तो फिर तुम एक पतली JDBC कनेक्शन स्ट्रिंग अपने आवेदन में इतने तरह उपयोग कर सकते हैं। धन्यवाद डेविड !!! –

  • +0

    मैं इसे हाइबरनेट एप्लिकेशन से प्राप्त करने की कोशिश कर रहा हूं, जो काम करना चाहिए। लेकिन मुझे oracle.net.ns.NetException मिल रहा है: SO अपवाद \t oracle.net.resolver पर उत्पन्न हुआ था। AddrResolution.resolveAddrTree (AddrResolution.java:629) – Betta

    संबंधित मुद्दे