2011-08-22 17 views
8

के माध्यम से कनेक्ट करते समय सत्र जानकारी में एप्लिकेशन का नाम प्रदर्शित करें मैं स्टर्डर्ड जेडीबीसी ड्राइवर का उपयोग कर पोस्टग्रेस 9 डेटाबेस से कनेक्शन बनाता हूं।जेडीबीसी

... 
Connection myCon = DriverManager.getConnection("jdbc:postgresql://localhost/test?&user=test&password=test"); 
... 

जब मैं pgAdmin के साथ सर्वर की स्थिति की जांच और सभी डेटाबेस सत्र प्रदर्शित करते हैं, मैं देख सकता हूँ कि "अनुप्रयोग का नाम" मेरे सत्र के लिए सेट नहीं है। क्या जेडीबीसी कनेक्शन में एप्लिकेशन का नाम सेट करने का कोई तरीका है?

+0

समय, यह कर सकते हैं निम्नलिखित कोड के साथ एसईटी बनें: stmt = Con.prepareStatement ("SET application_name = 'myApp'"); stmt.execute(); – markus

उत्तर

9

कि संभव है Postgres JDBC 9.1dev-900 के बाद से कनेक्शन पैरामीटर के रूप में आवेदन नाम सेट करने:

बाद में Connection.setClientInfo के माध्यम से दोनों कनेक्शन स्टार्टअप पर और APPLICATION_NAME स्थापित करने के लिए समर्थन जोड़ें। (Jurka)

पूर्व: jdbc:postgresql://localhost:5432/DbName?ApplicationName=MyApp

या Connection.setClientInfo("ApplicationName", "My App")

पिछले संस्करणों आप स्थापित करने application_name क्रम पैरामीटर द्वारा ऐसा कर सकता है के लिए: अपने ही सवाल का जवाब देने

s.execute("SET application_name TO 'MyApp'"); 
+1

बस अगर यह किसी के लिए सहायक होगा: यह विशेष रूप से ओरेकल डेटाबेस के लिए अतिरिक्त संपत्ति के साथ किया जा सकता है: ((बेसिकडाटासोर्स) डेटासोर्स) .addConnectionProperty ("v $ session.program", "स्पष्ट कनेक्शन लेबल")। इसके बाद वी $ सत्र ओरेकल व्यू में दिखाया जाएगा। बेशक यह तरीके केवल ओरेकल और आपके जेडीबीसी समाधान के लिए काम करता है - जिन्हें मैं अनजान था - अधिक मजबूत होना चाहिए। – SRG

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