0
我按照這篇文章:here從mysql更新數據到gae localhost服務器。如何從MySQL更新數據到gae localhost服務器
這是我str_loader.py是:
class College(db.Model):
cid = db.StringProperty(required=True)
name = db.StringProperty(required=True)
class MySQLLoader(bulkloader.Loader):
def generate_records(self, filename):
"""Generates records from a MySQL database."""
conn = MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',charset="utf8")
cursor = conn.cursor()
sql ="select * from haha"
cursor.execute(sql)
#alldata = cursor.fetchall()
return iter(cursor.fetchone, None)
class Mysql_update(bulkloader.Loader):
def __init__(self):
MySQLLoader.__init__(self,'College',
[
('cid', str),
('name', lambda x: unicode(x, 'utf8')),
])
])
loaders = [Mysql_update]
,我用這個代碼來運行:
appcfg.py upload_data --application=zjm1126 --config_file=upload/str_loader.py --filename=b.csv --kind=College --url=http://localhost:8100/remote_api
但它顯示錯誤:
alt text http://omploader.org/vNG9sZQ
,所以我更改str_loader.py:
class Mysql_update(bulkloader.Loader):
def __init__(self):
MySQLLoader('College',
[
('cid', str),
('name', lambda x: unicode(x, 'utf8')),
])
,它表明這個錯誤:
alt text http://omploader.org/vNG9sZg
,所以我想知道:我應該怎麼做,
感謝
更新
它是確定現在:
class MySQLLoader(bulkloader.Loader):
def generate_records(self, filename):
"""Generates records from a MySQL database."""
conn = MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',charset="utf8")
cursor = conn.cursor()
sql ="select * from haha"
cursor.execute(sql)
rs = cursor.fetchall()
#return iter(cursor.fetchone, None)
for x in rs:
yield (x[0].encode('utf8'),x[1].encode('utf8'))
非常感謝.. – zjm1126 2010-06-19 18:44:58