Беда с rdfstore с mysql - как отлаживать?
У меня запущен сервер 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
супер (связь, сам).init(* args, ** kwargs2)
OperationalError: (1049, "Неизвестная база данных" test "")
1 ответ
Я прокомментировал код в каталоге 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()