用mySQL运行monkeyrunner python脚本

时间:2012-07-30 04:10:54

标签: android python mysql monkeyrunner

我正在尝试使用MySQL将我的结果存储在我的monkeyrunner脚本中。我收到了这个错误:

import MySQLdb
ImportError: No module named named MySQLdb

我使用python编写monkeyrunner脚本。我在monkeyrunner所在的android-sdk / tools文件夹上运行脚本。我已经设置了python-mySQL连接,当我在Python27文件夹(不在Android内)中运行python脚本时,它工作正常

如何将MySQLdb导入我的monkeyrunner脚本?

感谢。

2 个答案:

答案 0 :(得分:0)

Monkeyrunner使用jython,而不是python。因此,您可以使用python脚本连接到mysqldb。不使用jython脚本。

从monkeyrunner,到访问mySQL,你应该使用zxJDBC包进行jython。 在monkeyrunner类路径中添加JDBC驱动程序。

zxJDBC软件包为Jython中的数据库连接提供了近100%兼容Python DB API 2.0的接口 以下代码可以让您连接到mysql数据库。

from com.ziclix.python.sql import zxJDBC
params = {}
params['serverName'] = 'localhost'
params['databaseName'] = 'ziclix'
params['user'] = None
params['password'] = None
params['port'] = 3306
db = apply(zxJDBC.connectx, ("org.gjt.mm.mysql.MysqlDataSource",), params)

以下链接可以详细说明这一点。

http://www.jython.org/archive/21/docs/zxjdbc.html

答案 1 :(得分:0)

保持简单。而不是处理jar,版本和其他东西只需使用命令行:

#! /opt/android-sdk/tools/monkeyrunner

import subprocess

USER = 'myuser'
PASSWORD = 'mypass'
DB = 'mydb'
p1 = subprocess.Popen([ "mysql", "--user=%s" % USER, "--password=%s" % PASSWORD, DB ], stdin=subprocess.PIPE)

print p1.communicate('INSERT INTO t1 VALUES(1, "other")')