OpenJDK 8 - DriverManager

क्लास ड्राइवर




openjdk

क्लास ड्राइवर

public class DriverManager
extends Object

JDBC ड्राइवरों के एक सेट के प्रबंधन के लिए मूल सेवा।
नोट: डेटा स्रोत इंटरफ़ेस, JDBC 2.0 API में नया, डेटा स्रोत से कनेक्ट करने का एक और तरीका प्रदान करता है। DataSource ऑब्जेक्ट का उपयोग डेटा स्रोत से कनेक्ट करने का पसंदीदा साधन है।

इसके प्रारंभ के एक भाग के रूप में, DriverManager वर्ग "jdbc.drivers" सिस्टम संपत्ति में संदर्भित ड्राइवर वर्गों को लोड करने का प्रयास करेगा। यह एक उपयोगकर्ता को उनके अनुप्रयोगों द्वारा उपयोग किए गए JDBC ड्राइवर्स को कस्टमाइज़ करने की अनुमति देता है। आपके ~ / .hotjava / गुण फ़ाइल में उदाहरण के लिए आप निर्दिष्ट कर सकते हैं:

jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver

DriverManager मेथड्स getConnection और getDrivers को Java Standard Edition सर्विस प्रोवाइडर मेकेनिज्म को सपोर्ट करने के लिए बढ़ाया गया है। JDBC 4.0 ड्राइवर्स को META-INF/services/java.sql.Driver फाइल को शामिल करना चाहिए। इस फ़ाइल में jD.sql.Driver के JDBC ड्राइवर कार्यान्वयन का नाम है। उदाहरण के लिए, my.sql.Driver वर्ग को लोड करने के लिए, META-INF/services/java.sql.Driver फ़ाइल में प्रविष्टि होगी:

my.sql.Driver

एप्लिकेशन को अब Class.forName() का उपयोग करके JDBC ड्राइवरों को स्पष्ट रूप से लोड करने की आवश्यकता नहीं है। मौजूदा कार्यक्रम जो वर्तमान में JDBC ड्राइवरों को Class.forName() का उपयोग करते हुए लोड करते हैं, संशोधन के बिना काम करना जारी रखेंगे।

जब विधि getConnection कहलाती है, तो DriverManager प्रारंभ में लोड किए गए लोगों में से एक उपयुक्त ड्राइवर का पता लगाने का प्रयास करेगा और जो वर्तमान क्लासलेट या एप्लिकेशन के समान ही getConnection का उपयोग करके स्पष्ट रूप से लोड किए गए हैं।

जावा 2 एसडीके, मानक संस्करण, संस्करण 1.3 के साथ शुरू, एक लॉगिंग स्ट्रीम केवल तभी सेट की जा सकती है जब उचित अनुमति दी गई हो। आम तौर पर यह टूल पॉलिसीटूल के साथ किया जाएगा, जिसका उपयोग permission java.sql.SQLPermission "setLog" देने के लिए किया जा सकता है permission java.sql.SQLPermission "setLog"

यह भी देखें:
Driver , Connection

तरीके

getLogWriter

public static PrintWriter getLogWriter()

लॉग लेखक को पुनः प्राप्त करता है। getLogWriter और setLogWriter विधियों का उपयोग get/setlogStream विधियों के बजाय किया जाना चाहिए, जो कि पदावनत हैं।

यह दिखाता है:
a java.io.PrintWriter वस्तु
जबसे:
1.2
यह भी देखें:
setLogWriter(java.io.PrintWriter)

setLogWriter

public static void setLogWriter(PrintWriter out)

PrintWriter ऑब्जेक्ट लॉगिंग / ट्रेसिंग सेट करता है, जिसका उपयोग DriverManager और सभी ड्राइवरों द्वारा किया जाता है।

विधि setLogWriter की शुरूआत के द्वारा बनाई गई एक मामूली संस्करण समस्या है। विधि setLogWriter एक PrintStream ऑब्जेक्ट नहीं बना सकता है जिसे getLogStream द्वारा लौटाया जाएगा --- जावा प्लेटफॉर्म एक बैकवर्ड रूपांतरण प्रदान नहीं करता है। नतीजतन, एक नया एप्लिकेशन जो setLogWriter का उपयोग करता है और एक JDBC 1.0 ड्राइवर का उपयोग करता है जो getLogStream का उपयोग करता है, getLogStream उस ड्राइवर द्वारा लिखित डिबगिंग जानकारी नहीं देखेगा।

जावा 2 एसडीके, मानक संस्करण, संस्करण 1.3 रिलीज के साथ शुरू, यह विधि यह देखने के लिए SQLPermission कि लॉगिंग स्ट्रीम को सेट करने से पहले SQLPermission ऑब्जेक्ट है। यदि कोई SecurityManager मौजूद है और उसकी checkPermission विधि लॉग लेखक को सेट करने से इनकार करती है, तो यह विधि java.lang.SecurityException फेंकती है।

पैरामीटर:
out - नया लॉगिंग / ट्रेसिंग PrintStream ऑब्जेक्ट; लॉगिंग और ट्रेसिंग को अक्षम करने के लिए null
फेंकता:
SecurityException - अगर कोई SecurityException checkPermission मौजूद है और इसकी checkPermission विधि लॉग लेखक को सेट करने से इनकार करती है
जबसे:
1.2
यह भी देखें:
SecurityManager.checkPermission(java.security.Permission) , getLogWriter()

getConnection

public static Connection getConnection(String url,
                                       Properties info)
                                throws SQLException

दिए गए डेटाबेस URL से कनेक्शन स्थापित करने का प्रयास। DriverManager पंजीकृत JDBC ड्राइवरों के सेट से एक उपयुक्त ड्राइवर का चयन करने का प्रयास करता है।

नोट: यदि कोई संपत्ति url हिस्से के रूप में निर्दिष्ट की गई है और Properties ऑब्जेक्ट में भी निर्दिष्ट है, तो इसे कार्यान्वयन-परिभाषित किया जाता है, जिसके लिए मूल्य पूर्वता ले जाएगा। अधिकतम पोर्टेबिलिटी के लिए, एक एप्लिकेशन को केवल एक बार एक संपत्ति निर्दिष्ट करनी चाहिए।

पैरामीटर:
url - प्रपत्र jdbc: subprotocol : subname का एक डेटाबेस url jdbc: subprotocol : subname
info - कनेक्शन तर्क के रूप में मनमाने स्ट्रिंग टैग / मूल्य जोड़े की एक सूची; आम तौर पर कम से कम "उपयोगकर्ता" और "पासवर्ड" संपत्ति को शामिल किया जाना चाहिए
यह दिखाता है:
URL से कनेक्शन
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर आता है या url null
SQLTimeoutException - जब ड्राइवर ने निर्धारित किया है कि setLoginTimeout विधि द्वारा निर्दिष्ट टाइमआउट मान पार हो गया है और कम से कम वर्तमान डेटाबेस कनेक्शन प्रयास को रद्द करने का प्रयास किया है

getConnection

public static Connection getConnection(String url,
                                       String user,
                                       String password)
                                throws SQLException

दिए गए डेटाबेस URL से कनेक्शन स्थापित करने का प्रयास। DriverManager पंजीकृत JDBC ड्राइवरों के सेट से एक उपयुक्त ड्राइवर का चयन करने का प्रयास करता है।

नोट: यदि user या password संपत्ति को url भाग के रूप में भी निर्दिष्ट किया जाता है, तो इसे कार्यान्वयन-परिभाषित किया जाता है कि किस मूल्य को पूर्वता प्राप्त होगी। अधिकतम पोर्टेबिलिटी के लिए, एक एप्लिकेशन को केवल एक बार एक संपत्ति निर्दिष्ट करनी चाहिए।

पैरामीटर:
url - प्रपत्र jdbc: subprotocol : subname का एक डेटाबेस url jdbc: subprotocol : subname
user - डेटाबेस उपयोगकर्ता जिसकी ओर से कनेक्शन बनाया जा रहा है
password - उपयोगकर्ता का पासवर्ड
यह दिखाता है:
यूआरएल के लिए एक कनेक्शन
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर आता है या url null
SQLTimeoutException - जब ड्राइवर ने निर्धारित किया है कि setLoginTimeout विधि द्वारा निर्दिष्ट टाइमआउट मान पार हो गया है और कम से कम वर्तमान डेटाबेस कनेक्शन प्रयास को रद्द करने का प्रयास किया है

getConnection

public static Connection getConnection(String url)
                                throws SQLException

दिए गए डेटाबेस URL से कनेक्शन स्थापित करने का प्रयास। DriverManager पंजीकृत JDBC ड्राइवरों के सेट से एक उपयुक्त ड्राइवर का चयन करने का प्रयास करता है।

पैरामीटर:
url - प्रपत्र jdbc: subprotocol : subname का एक डेटाबेस url jdbc: subprotocol : subname
यह दिखाता है:
यूआरएल के लिए एक कनेक्शन
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर आता है या url null
SQLTimeoutException - जब ड्राइवर ने निर्धारित किया है कि setLoginTimeout विधि द्वारा निर्दिष्ट टाइमआउट मान पार हो गया है और कम से कम वर्तमान डेटाबेस कनेक्शन प्रयास को रद्द करने का प्रयास किया है

getDriver

public static Driver getDriver(String url)
                        throws SQLException

दिए गए URL को समझने वाले ड्राइवर का पता लगाने का प्रयास। DriverManager पंजीकृत JDBC ड्राइवरों के सेट से एक उपयुक्त ड्राइवर का चयन करने का प्रयास करता है।

पैरामीटर:
url - फॉर्म का एक डेटाबेस URL jdbc: subprotocol : subname
यह दिखाता है:
Driver ऑब्जेक्ट एक Driver प्रतिनिधित्व करता है जो दिए गए URL से जुड़ सकता है
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर होता है

registerDriver

public static void registerDriver(Driver driver)
                           throws SQLException

DriverManager साथ दिए गए ड्राइवर को पंजीकृत करता है। एक नव-भारित ड्राइवर वर्ग को खुद को DriverManager लिए ज्ञात करने के लिए विधि registerDriver को कॉल करना चाहिए। यदि ड्राइवर वर्तमान में पंजीकृत है, तो कोई कार्रवाई नहीं की जाती है।

पैरामीटर:
driver - नया JDBC ड्राइवर जो DriverManager साथ पंजीकृत होना है
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर होता है
NullPointerException - अगर driver अशक्त है

registerDriver

public static void registerDriver(Driver driver,
                                  DriverAction da)
                           throws SQLException

DriverManager साथ दिए गए ड्राइवर को पंजीकृत करता है। एक नव-भारित ड्राइवर वर्ग को खुद को DriverManager लिए ज्ञात करने के लिए विधि registerDriver को कॉल करना चाहिए। यदि ड्राइवर वर्तमान में पंजीकृत है, तो कोई कार्रवाई नहीं की जाती है।

पैरामीटर:
driver - नया JDBC ड्राइवर जो DriverManager साथ पंजीकृत होना है
da - DriverAction कार्यान्वयन का उपयोग तब किया जाता है जब DriverManager#deregisterDriver कहलाता है
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर होता है
NullPointerException - अगर driver अशक्त है
जबसे:
1.8

deregisterDriver

public static void deregisterDriver(Driver driver)
                             throws SQLException

पंजीकृत ड्राइवर की DriverManager सूची से निर्दिष्ट ड्राइवर को निकालता है।

यदि ड्राइवर को निकालने के लिए एक null मान निर्दिष्ट किया जाता है, तो कोई कार्रवाई नहीं की जाती है।

यदि कोई सुरक्षा प्रबंधक मौजूद है और उसका checkPermission अनुमति से इनकार करता है, तो एक SecurityException को फेंक दिया जाएगा।

यदि निर्दिष्ट ड्राइवर पंजीकृत ड्राइवरों की सूची में नहीं पाया जाता है, तो कोई कार्रवाई नहीं की जाती है। यदि ड्राइवर पाया गया, तो इसे पंजीकृत ड्राइवरों की सूची से हटा दिया जाएगा।

अगर JDBC ड्राइवर पंजीकृत होने के बाद DriverAction उदाहरण निर्दिष्ट किया गया था, तो ड्राइवर के पंजीकृत होने की सूची से हटाए जाने से पहले उसकी deregister विधि को कॉल किया जाएगा।

पैरामीटर:
driver - हटाने के लिए JDBC ड्राइवर
फेंकता:
SQLException - यदि डेटाबेस एक्सेस एरर होता है
SecurityException - यदि कोई सुरक्षा प्रबंधक मौजूद है और इसकी checkPermission विधि ड्रायवर को ड्राइवर को अनुमति देने से इनकार करती है।
यह भी देखें:
SecurityManager.checkPermission(java.security.Permission)

getDrivers

public static Enumeration<Driver> getDrivers()

वर्तमान में लोड किए गए JDBC ड्राइवर, जिसमें वर्तमान कॉलर की पहुंच है, के साथ एक एन्युमरेशन प्राप्त करता है।

नोट: ड्राइवर का d.getClass().getName() का उपयोग करके पाया जा सकता है d.getClass().getName()

यह दिखाता है:
कॉलर के लोडर द्वारा लोड किए गए JDBC ड्राइवर्स की सूची

setLoginTimeout

public static void setLoginTimeout(int seconds)

अधिकतम समय सेकंड्स में सेट करता है जो ड्राइवर की पहचान होने के बाद एक डेटाबेस से जुड़ने का प्रयास करते समय प्रतीक्षा करेगा।

पैरामीटर:
seconds - seconds में लॉगिन समय सीमा; शून्य का अर्थ है, कोई सीमा नहीं है
यह भी देखें:
getLoginTimeout()

getLoginTimeout

public static int getLoginTimeout()

एक डेटाबेस में लॉग इन करने का प्रयास करते समय एक चालक इंतजार कर सकता है कि सेकंड में अधिकतम समय हो जाता है।

यह दिखाता है:
ड्राइवर लॉगिन सेकंड में समय सीमा
यह भी देखें:
setLoginTimeout(int)

setLogStream

@Deprecated
public static void setLogStream(PrintStream out)

पदावनत। setLogWriter उपयोग करें

लॉगिंग / ट्रेसिंग प्रिंटस्ट्रीम सेट करता है जो कि DriverManager और सभी ड्राइवरों द्वारा उपयोग किया जाता है।

जावा 2 एसडीके, मानक संस्करण, संस्करण 1.3 रिलीज में, यह विधि यह देखने के लिए SQLPermission कि लॉगिंग स्ट्रीम को सेट करने से पहले SQLPermission ऑब्जेक्ट है। यदि कोई SecurityManager मौजूद है और उसकी checkPermission विधि लॉग लेखक को सेट करने से इनकार करती है, तो यह विधि java.lang.SecurityException फेंकती है।

पैरामीटर:
out - नया लॉगिंग / ट्रेसिंग PrintStream; निष्क्रिय करने के लिए, null सेट करें
फेंकता:
SecurityException - यदि कोई सुरक्षा प्रबंधक मौजूद है और इसकी checkPermission विधि लॉग स्ट्रीम सेट करने से इनकार करती है
यह भी देखें:
SecurityManager.checkPermission(java.security.Permission) , getLogStream()

getLogStream

@Deprecated
public static PrintStream getLogStream()

पदावनत। getLogWriter उपयोग करें

ड्राइवर प्रबंधक और सभी ड्राइवरों द्वारा उपयोग किए जाने वाले लॉगिंग / अनुरेखण PrintStream को पुनः प्राप्त करता है।

यह दिखाता है:
लॉगिंग / अनुरेखण PrintStream; यदि अक्षम है, तो null
यह भी देखें:
setLogStream(java.io.PrintStream)

println

public static void println(String message)

एक संदेश को वर्तमान JDBC लॉग स्ट्रीम में प्रिंट करता है।

पैरामीटर:
message - एक लॉग या अनुरेखण संदेश