在monkeyrunner / jython中找不到JDBC驱动程序错误

时间:2012-10-16 03:47:12

标签: mysql jdbc centos classpath jython

我需要在DB中插入内容。我使用JDBC作为connector, jython the scriptmysql数据库,并且脚本在CentOS中运行。

我的代码看起来像这样:

  

来自com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

     

来自com.ziclix.python.sql import zxJDBC

  db=zxJDBC.connect("jdbc:mysql://XXX.XXX.XXX.XXX:3306/dbname","USER","PASSWORD","org.gjt.mm.mysql.Driver")

c=db.cursor() c.execute("INSERT INTO tablename values ('X','X','X')")

之前,我从here(在桌面上)

下载并解压缩了该文件

我通过这样做添加了到classpath的路径

 export PATH=/home/XX/Desktop/mysql-connector-java-5.1.22

当我运行脚本时,它给了我这个错误

  

zxJDBC.DatabaseError.driver [org.gjt.mm.mysql.Driver]未找到

我做错了什么?是否正确的驱动程序名称?因为我刚把它复制到我见过的其中一个教程中。或者我可能是否正确安装了驱动程序?

感谢。

3 个答案:

答案 0 :(得分:3)

这就是我设法解决错误的方法:

  1. 下载JDBC驱动程序here

  2. 在任何地方提取tar.gz文件。

  3. 您将在该文件夹中找到mysql-connector-java-5.1.22-bin.jar。复制并粘贴到(在我的情况下)/%android-sdk%/ tools / lib

  4. 将mysql-connector-java-5.1.22-bin.jar的新位置添加到classpath

  5. 像这样做

  6.   来自com.android.monkeyrunner的

    导入MonkeyRunner,MonkeyDevice,   MonkeyImage

         

    从com.ziclix.python.sql导入zxJDBC

         

    分贝= zxJDBC.connect( “JDBC:MySQL的://XXX.XXX.XXX.XXX:3306 / DBNAME”, “用户”, “密码”, “com.mysql.jdbc.Driver”)

         

    c = db.cursor()

         

    c.execute(“INSERT INTO tablename values('X','X','X')”)

         

    db.commit()

    希望这有助于那些将来需要它的人。 :)

答案 1 :(得分:0)

你是如何运行jython的?如果您使用的是独立安装,即java -jar jython.jar,那么请从Java Documentation ...

  

-jar

     

使用此选项时, JAR文件是所有用户类的来源,其他用户类路径设置将被忽略。

...你不能在classpath中添加任何东西。将所需的类重新打包到jython jar中是一种方法或this answer有一个替代解决方案 - 基本上也将jython.jar添加到类路径中(使用-cp或CLASSPATH)并运行org.python.util.jython直接上课。

答案 2 :(得分:-1)

我在windows7中遇到了示例问题,我解决了这个问题:

  1. 下载JDBC驱动程序
  2. 将mysql-connector-java-ver-bin.jar添加到环境变量中: 如: CLASSPATH:C:\ xxx-path \ mysql-connector-java-5.1.41-bin.jar
  3. 然后我解决了这个问题