我正在尝试编写一个将连接到数据库的Python脚本。 数据库的主机URL以jdbc格式提供给我:
URL = jdbc:mysql://www.myurl.com:3306/
我无法弄清楚如何将该网址翻译成pythonese。
任何帮助将不胜感激。感谢
import MySQLdb
conn = MySQLdb.connect(host="????",user="web3u4",passwd="password",db="web3db4")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
# disconnect from server
db.close()
答案 0 :(得分:1)
您应该使用urlparse.urlparse
来解析jdbc字符串。
from urlparse import urlparse
jdbc = "jdbc:mysql://www.myurl.com:3306"
result= urlparse(jdbc)
MySQLdb.connect(host=result.host,
user=result.username,
passwd=result.password,
db="web3db4")
不确定你如何计划传递数据库..但如果你添加它我也可以帮助你。
答案 1 :(得分:0)
如何通过re
模块解析JDBC字符串?例如:
>>> import re
>>> jdbc_str = 'jdbc:mysql://repos.insttech.washington.edu:3306/johndoe?user=johndoe&password=jddb'
>>> jdbc_pattern = 'mysql://(.*?):(\d*)/'
>>> (host, port) = re.compile(jdbc_pattern).findall(jdbc_str)[0]
>>> print host
repos.insttech.washington.edu
>>> print port
3306
连接字符串是从一个样本[年龄复制的,我不知道user
和password
字段是否总是在连接字符串中,所以我没有把它们放在模式中
此外,还有一个名为JayDeBeApi的模块可用于连接JDBC服务器,你试过吗?