Беда с rdfstore с mysql - как отлаживать? - PullRequest
0 голосов
/ 04 февраля 2010

У меня работает сервер mysql, и я могу подключиться к нему из моего Django ORM. Не удается подключиться с помощью функции rdflib. Как я могу отладить эту проблему? Спасибо.

rdflib 2.4.2, python 2.6, MySQL Community 5.1.42

Трассировка:

configString = "host=localhost,user=root,password=...,db=..."  
print configString

хост = локальный пользователь = корень, пароль = ..., дБ = ...

store = plugin.get('MySQL', Store)('rdfstore')  
print store  

Traceback (последний вызов был последним):
Файл "D: \ GR \ Personal \ Career \ Python \ medCE \ semantix \ foaf_rdf.py", строка 26, в магазине печати
Файл C: \ Program Files \ Python26 \ lib \ site-packages \ rdflib \ store \ MySQL.py ", строка 1029, в _____repr_____ c = self._db.cursor ()
AttributeError: у объекта 'NoneType' нет атрибута 'курсор'

rt = store.open(configString,create=False)  

таблица kb_7b066eca61_relations Не существует
таблица kb_7b066eca61_relations не существует

print rt  

0

if rt == 0: store.open(configString,create=True)  

Traceback (последний вызов был последним):
Файл "", строка 3, в
store.open (configString, создать = True)
Файл "C: \ Program Files \ Python26 \ lib \ site-packages \ rdflib \ store \ MySQL.py", строка 602, в открытом
хост = configDict [ 'хозяин']
Файл "C: \ Program Files \ Python26 \ lib \ site-packages \ MySQLdb__init __. Py", строка 74, в Connect
обратное соединение (* args, ** kwargs)
Файл "C: \ Program Files \ Python26 \ lib \ site-packages \ MySQLdb \ connections.py", строка 170, в init
super (Соединение, self). init (* args, ** kwargs2)
OperationalError: (1049, «Тест неизвестной базы данных»)

1 Ответ

1 голос
/ 05 февраля 2010

Я прокомментировал код в каталоге rdflib / store в MySQL.py и теперь все это работает:

# test_db = MySQLdb.connect(user=configDict['user'],
#                           passwd=configDict['password'],
#                           db='test',
#                           port=configDict['port'],
#                           host=configDict['host'],
#                           #use_unicode=True,
#                           #read_default_file='/etc/my-client.cnf'
#                           )
# c=test_db.cursor()
# c.execute("""SET AUTOCOMMIT=0""")
# c.execute("""SHOW DATABASES""")
# if not (configDict['db'].encode('utf-8'),) in c.fetchall():
#     print >> sys.stderr, "creating %s (doesn't exist)"%(configDict['db'])
#     c.execute("""CREATE DATABASE %s"""%(configDict['db'],))
#     test_db.commit()
#     c.close()
#     test_db.close()
...