我需要在DB
中插入内容。我使用JDBC
作为connector, jython the script
,mysql
数据库,并且脚本在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]
未找到
我做错了什么?是否正确的驱动程序名称?因为我刚把它复制到我见过的其中一个教程中。或者我可能是否正确安装了驱动程序?
感谢。
答案 0 :(得分:3)
这就是我设法解决错误的方法:
下载JDBC驱动程序here
在任何地方提取tar.gz文件。
您将在该文件夹中找到mysql-connector-java-5.1.22-bin.jar。复制并粘贴到(在我的情况下)/%android-sdk%/ tools / lib
将mysql-connector-java-5.1.22-bin.jar的新位置添加到classpath
像这样做
来自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中遇到了示例问题,我解决了这个问题:
然后我解决了这个问题