【问题标题】:Running monkeyrunner python script with mySQL使用 mySQL 运行 monkeyrunner python 脚本
【发布时间】:2012-07-30 04:10:53
【问题描述】:

我正在尝试使用 MySQL 将我的结果与我的 monkeyrunner 脚本一起存储。我收到此错误:

import MySQLdb
ImportError: No module named named MySQLdb

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

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

谢谢。

【问题讨论】:

    标签: android python mysql monkeyrunner


    【解决方案1】:

    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

    【讨论】:

    • 在你的monkeyrunner类路径中添加JDBC驱动是什么意思?我已经从dev.mysql.com/downloads/connector/j 下载了ConnectorJ,mysql-connector-java-5.1.21-bin。我应该把这个 JAR 文件放在哪里?
    • 在你的monkeyrunner的lib文件夹中你应该放置包。
    【解决方案2】:

    保持简单。无需处理 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")')
    

    【讨论】:

      猜你喜欢
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 2013-12-13
      • 2013-05-11
      • 2021-07-15
      • 2014-10-19
      • 2017-07-30
      相关资源
      最近更新 更多