2

MySQL を使用して、monkeyrunner スクリプトで結果を保存しようとしています。このエラーが発生しています:

import MySQLdb
ImportError: No module named named MySQLdb

Python を使用して monkeyrunner スクリプトを作成します。monkeyrunner がある android-sdk/tools フォルダーでスクリプトを実行します。そして、私はすでにpython-mySQL接続をセットアップしています。Python27フォルダー内(Android内ではなく)でpythonスクリプトを実行すると、正常に動作します

Monkeyrunner スクリプトに MySQLdb をインポートするにはどうすればよいですか?

ありがとう。

4

2 に答える 2

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")')
于 2012-08-02T04:35:29.583 に答える
0

Monkeyrunner は Python ではなく、Jython を使用します。したがって、python スクリプトを使用して mysqldb に接続できます。jython スクリプトを使用しない。

monkeyrunner から mySQL にアクセスするには、jython 用の 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

于 2012-07-30T05:03:03.263 に答える