0

mysql サーバーを実行しており、Django ORM から接続できます。rdflib 機能を使用して接続できません。この問題をデバッグするにはどうすればよいですか? ありがとう。

rdflib 2.4.2、python 2.6、MySQL コミュニティ 5.1.42

痕跡:

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

ホスト=localhost、ユーザー=ルート、パスワード=...、db=...

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

トレースバック (最後の最後の呼び出し):
ファイル "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' オブジェクトに属性 'cursor' がありません

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

テーブル kb_7b066eca61_relations は存在しません
テーブル kb_7b066eca61_relations は存在しません

print rt  

0

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

トレースバック (最新の呼び出しが最後):
ファイル ""、3 行目、
store.open(configString,create=True) 内
ファイル "C:\Program Files\Python26\lib\site-packages\rdflib\store\MySQL.py" 、602行目、open
host=configDict['host']、
File "C:\Program Files\Python26\lib\site-packages\MySQLdb__init__.py"、74行目、Connect
return Connection(*args, **kwargs )
ファイル "C:\Program Files\Python26\lib\site-packages\MySQLdb\connections.py"、170 行目、init
super(Connection, self) 内。init (*args, **kwargs2)
OperationalError: (1049, "不明なデータベース 'test'")

4

1 に答える 1

1

MySQL.pyのrdflib/storeディレクトリのコードにコメントしましたが、すべて機能します。

# 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()
于 2010-02-04T21:51:45.447 に答える