2012-07-30 66 views
2

我想用我的monkeyrunner腳本來存儲我的結果。我得到這個錯誤:用mySQL運行monkeyrunner python腳本

import MySQLdb 
ImportError: No module named named MySQLdb 

我使用Python編寫我的monkeyrunner腳本。我在monkeyrunner所在的android-sdk/tools文件夾上運行腳本。我已經安裝python-mySQL連接,當我在Python27文件夾(不在Android內部)中運行python腳本時它工作正常

如何將MySQLdb導入到我的monkeyrunner腳本中?

謝謝。

回答

0

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

從monkeyrunner來說,要訪問mySQL,你應該使用jxthon的zxJDBC包。 在您的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

+0

你是什麼意思在你的monkeyrunner類路徑中添加JDBC驅動程序?我已經從http://dev.mysql.com/downloads/connector/j/下載了ConnectorJ,mysql-connector-java-5.1.21-bin。我應該把這個JAR文件放在哪裏? – Tata 2012-07-30 07:25:49

+0

在你monkeyrunner的lib文件夾中,你應該放置包。 – 2012-07-30 09:09:25

0

保持簡單。而不是處理罐子,版本和其他東西只是使用命令行:

#! /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")')