使用Python进行旧类型JDBC URL解析

使用Python进行旧类型JDBC URL解析,python,oracle,parsing,jdbc,Python,Oracle,Parsing,Jdbc,如何解析URL,例如: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.1.1)(PORT=1521))(CONNECT\u DATA=(SERVICE\u NAME=server.NAME)))完成 a = 'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.1.1)(PORT=1521))(CONNECT_DATA=(SERVICE_N

如何解析URL,例如:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.1.1)(PORT=1521))(CONNECT\u DATA=(SERVICE\u NAME=server.NAME)))完成

a = 'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.1.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=server.name)))'
a = a.split('(')
host = a[4].replace(")","").replace("HOST=","")
port = a[5].replace(")","").replace("PORT=","")
s_name = a[7].replace(")","").replace("SERVICE_NAME=","")
url = host + ':' + port + '/' + s_name
print url

将打印:1.1.1.1:1521/server.name

从技术上讲,这不是“旧式JDBC URL”,而是Oracle JDBC驱动程序碰巧也支持的Oracle TNSNAMES.ORA文件的特定格式。请参阅。此答案是不安全的,因为它假设主机和端口的位置不可预测时,它们将位于阵列中的预期位置。