होस्टनाम, पोर्ट और डेटाबेस नाम प्राप्त करने के लिए मैं जेडीबीसी यूआरएल (ऑरैकल या एसक्लसेवर) का विश्लेषण कैसे कर सकता हूं। यूआरएल के प्रारूप अलग हैं।होस्टनाम, बंदरगाह आदि प्राप्त करने के लिए जेडीबीसी यूआरएल का विश्लेषण कैसे करें?
कुछ इस तरह के साथउत्तर
प्रारंभ: ऊपर से
String url = "jdbc:derby://localhost:1527/netld;collation=TERRITORY_BASED:PRIMARY"; String cleanURI = url.substring(5); URI uri = URI.create(cleanURI); System.out.println(uri.getScheme()); System.out.println(uri.getHost()); System.out.println(uri.getPort()); System.out.println(uri.getPath());
आउटपुट:
derby localhost 1527 /netld;collation=TERRITORY_BASED:PRIMARY
धन्यवाद बहुत कुछ! मैं इस तरह से मेजबान, आसानी से बंदरगाह प्राप्त कर सकता हूं, लेकिन मुझे डाटाबेसनाम –
प्राप्त करने के लिए पथ को पार्स करना है हां, आपको यकीन है कि। – brettw
आप jdbc से _some server_ को पार्स करने में सक्षम नहीं होंगे: ओरेकल: पतला: @ some.server: 1521: XXX –
वह मेरे लिए काम नहीं किया। मैं इन तरीकों के साथ आया, इस धारणा के आधार पर कि मेजबाननाम और बंदरगाह हमेशा एक कोलन द्वारा एक साथ जुड़ जाते हैं। यह धारणा उन सभी डेटाबेसों के लिए रखती है जिन्हें मुझे काम पर सौदा करना है (ओरेकल, वर्टिका, माईएसक्यूएल, आदि)। लेकिन शायद यह ऐसी किसी चीज़ के लिए काम नहीं करता है जो नेटवर्क पोर्ट तक नहीं पहुंचता है।
String url = null; // set elsewhere in the class
final public String regexForHostAndPort = "[.\\w]+:\\d+";
final public Pattern hostAndPortPattern = Pattern.compile(regexForHostAndPort);
public String getHostFromUrl() {
Matcher matcher = hostAndPortPattern.matcher(url);
matcher.find();
int start = matcher.start();
int end = matcher.end();
if(start >= 0 && end >= 0) {
String hostAndPort = url.substring(start, end);
String [] array = hostAndPort.split(":");
if(array.length >= 2)
return array[0];
}
throw new IllegalArgumentException("couldn't find pattern '" + regexForHostAndPort + "' in '" + url + "'");
}
public int getPortFromUrl() {
Matcher matcher = hostAndPortPattern.matcher(url);
matcher.find();
int start = matcher.start();
int end = matcher.end();
if(start >= 0 && end >= 0) {
String hostAndPort = url.substring(start, end);
String [] array = hostAndPort.split(":");
if(array.length >= 2)
return Integer.parseInt(array[1]);
}
throw new IllegalArgumentException("couldn't find pattern '" + regexForHostAndPort + "' in '" + url + "'");
}
मैं इस परियोजना का उपयोग अपनी परियोजनाओं में करता हूं। उपयोग वास्तव में सरल है।
/**
* Split di una url JDBC nei componenti.
* Estrae i componenti di una uri JDBC del tipo: <br>
* String url = "jdbc:derby://localhost:1527/netld;collation=TERRITORY_BASED:PRIMARY"; <br>
* nelle rispettive variabili pubbliche.
* @author Nicola De Nisco
*/
public class JdbcUrlSplitter
{
public String driverName, host, port, database, params;
public JdbcUrlSplitter(String jdbcUrl)
{
int pos, pos1, pos2;
String connUri;
if(jdbcUrl == null || !jdbcUrl.startsWith("jdbc:")
|| (pos1 = jdbcUrl.indexOf(':', 5)) == -1)
throw new IllegalArgumentException("Invalid JDBC url.");
driverName = jdbcUrl.substring(5, pos1);
if((pos2 = jdbcUrl.indexOf(';', pos1)) == -1)
{
connUri = jdbcUrl.substring(pos1 + 1);
}
else
{
connUri = jdbcUrl.substring(pos1 + 1, pos2);
params = jdbcUrl.substring(pos2 + 1);
}
if(connUri.startsWith("//"))
{
if((pos = connUri.indexOf('/', 2)) != -1)
{
host = connUri.substring(2, pos);
database = connUri.substring(pos + 1);
if((pos = host.indexOf(':')) != -1)
{
port = host.substring(pos + 1);
host = host.substring(0, pos);
}
}
}
else
{
database = connUri;
}
}
}
- 1. आधार यूआरएल प्राप्त करने के लिए यूआरएल का विश्लेषण कैसे करें? - रेल 3.1
- 2. पैरामीटर के लिए ज़ेंड यूआरएल का विश्लेषण कैसे करें?
- 3. HttpContext.Current का उपयोग किए बिना यूआरएल होस्टनाम का निर्धारण करें?
- 4. फ्रीमार्कर टेम्पलेट में होस्टनाम कैसे प्राप्त करें?
- 5. ओरेकल एक्सए क्लाइंट के लिए जेडीबीसी यूआरएल
- 6. पुरानी लॉग फ़ाइलों का विश्लेषण करने के लिए मैं AWstats कैसे प्राप्त करूं?
- 7. जेडीबीसी से अनुक्रम मेटाडेटा कैसे प्राप्त करें?
- 8. BaseHTTPRequestHandler.path का विश्लेषण कैसे करें
- 9. रेल नियंत्रक से होस्टनाम प्राप्त करें
- 10. मुझे अनुरोध का यूआरएल कैसे प्राप्त होगा?
- 11. मानक यूआरएल से एम्बेड करने के लिए उचित ध्वनि क्लाउड यूआरएल कैसे प्राप्त करें?
- 12. jQuery का उपयोग कर यूआरएल के लिए #anchor प्राप्त करें?
- 13. node.js में वर्तमान अनुरोध का होस्टनाम प्राप्त करें
- 14. मिलीसेकंड का विश्लेषण कैसे करें?
- 15. संक्षिप्त यूआरएल से लंबा यूआरएल कैसे प्राप्त करें?
- 16. स्थानीयकृत कैसे रद्द करें, संपन्न और आदि कैसे प्राप्त करें?
- 17. एक विकेट साझा संसाधन के लिए यूआरएल कैसे प्राप्त करें?
- 18. एक यूआरएल से डेटा प्राप्त करने के लिए कैसे
- 19. जावा में कस्टम DNS सर्वर का उपयोग करने के लिए होस्टनाम रिज़ॉल्यूशन को कॉन्फ़िगर कैसे करें?
- 20. चेकबॉक्स आदि के लिए फ़ॉन्ट विस्मयकारी का उपयोग कैसे करें
- 21. एक और यूआरएल डेटा प्राप्त करने के लिए यूआरएल पार्स करने के लिए सुंदर सूप
- 22. मॉड्यूल के बिना सिर्फ कक्षा का नाम प्राप्त करें, आदि
- 23. जावा में डब्लूएसडीएल का विश्लेषण कैसे करें?
- 24. WP7 आम - किसी दिए गए होस्टनाम के लिए आईपी पता कैसे प्राप्त करें
- 25. एएसपी.नेट में, अनुरोध के लिए बेस यूआरएल प्राप्त करने का सबसे तेज़ तरीका क्या है?
- 26. यूआरएल स्ट्रिंग का डोमेन हिस्सा प्राप्त करें?
- 27. सी # का उपयोग कर <xsd: simpleType> तत्वों से जानकारी प्राप्त करने के लिए XSD का विश्लेषण कैसे करें?
- 28. facet_wrap का सम्मान करने के लिए geom_vline कैसे प्राप्त करें?
- 29. निष्क्रिय मोड से एफ़टीपी प्रोटोकॉल में बंदरगाह कैसे प्राप्त करें?
- 30. जेडीबीसी
आप जेडीबीसी यूआरएल को पार्स करना चाहते हैं तो इसका क्या मतलब है। आप रेगेक्स का उपयोग कर सकते हैं। क्या आप एक उदाहरण दे सकते हैं – Ank
jdbc: jtds: sqlserver: // hostname: port/dbname या jdbc: jtds: sqlserver: // hostname: port; डेटाबेस नाम = dbname या jdbc: oracle: पतला: @ होस्टनाम: पोर्ट: dbname –