Соединитесь с URL базы данных в Python, где URL для JDBC - PullRequest
1 голос
/ 05 декабря 2011

Я пытаюсь написать скрипт Python, который будет подключаться к базе данных.URL хоста базы данных был дан мне в формате jdbc:

URL = jdbc:mysql://www.myurl.com:3306/

Я не могу понять, как перевести этот URL на 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()

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Вы должны использовать 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")

Не уверен, как вы планируете проходить БД ... но если вы добавите его, я тоже могу вам в этом помочь.

0 голосов
/ 05 декабря 2011

Как насчет анализа строки JDBC модулем re?Например:

>>> 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

Строка подключения скопирована из одного образца [age, и я не знаю, всегда ли поля user и password находятся в строке подключения, поэтому я непоместите их в шаблон.

Кроме того, есть модуль с именем JayDeBeApi , который можно использовать для подключения к серверу JDBC, вы пробовали его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...