首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jython连接到mysql,找不到驱动程序错误

Jython连接到mysql,找不到驱动程序错误
EN

Stack Overflow用户
提问于 2012-06-27 09:54:19
回答 2查看 2.3K关注 0票数 1

我正在尝试将Jython与mysql连接起来。我下载了"zxJDBC.jar“、"mm.mysql-2.0.4-bin.jar”和"mysql-connector-java-5.1.20-bin.jar",并将它们的路径设置为CLASSPATH。

在我的Jython脚本中,两者都

代码语言:javascript
复制
$from com.ziclix.python.sql import zxJDBC
$from org.gjt.mm.mysql import Driver

通过了。

但是什么时候

代码语言:javascript
复制
$conn = zxJDBC.connect("jdbc:mysql://localhost/automobile2", "root", "nihaonlp", "org.gjt.mm.mysql.Driver")

翻译告诉我

代码语言:javascript
复制
$zxJDBC.DatabaseError: driver [org.gjt.mm.mysql.Driver] not found

如何修复它?

H

EN

回答 2

Stack Overflow用户

发布于 2012-07-02 04:23:33

看看这里:

http://glasblog.1durch0.de/?p=846

基本上,这个技巧将使用ClassLoader加载您的类,以便您可以在jython中使用它。

http://www.jython.org/jythonbook/en/1.0/appendixB.html#using-the-classpath-steve-langer

我建议稍微修改一下脚本:

代码语言:javascript
复制
class classPathHacker:
    ##########################################################
    # from http://forum.java.sun.com/thread.jspa?threadID=300557
    #
    # Author: SG Langer Jan 2007 translated the above Java to this
    #       Jython class
    # Modified 2012 by Malte Vesper
    # Purpose: Allow runtime additions of new Class/jars either from
    #       local files or URL
    ######################################################
    import java.lang.reflect.Method
    import java.io.File
    import java.net.URL
    import java.net.URLClassLoader
    import jarray

    def addFile (self, path):
        #############################################
        # Purpose: If adding a file/jar call this first
        #       with path = path_to_jar
        #############################################

        return self.addURL (self.java.io.File (path).toUrl())

    def addURL (self, url):
        ##################################
        # Purpose: Call this with u= URL for
        #       the new Class/jar to be loaded
        #################################

        parameters = self.jarray.array([self.java.net.URL], self.java.lang.Class)
        sysloader =  self.java.lang.ClassLoader.getSystemClassLoader()
        sysclass = self.java.net.URLClassLoader
        method = sysclass.getDeclaredMethod("addURL", parameters)
        jar_a = self.jarray.array([url], self.java.lang.Object)
        method.invoke(sysloader, jar_a)
        return url
票数 1
EN

Stack Overflow用户

发布于 2015-05-17 17:45:03

我来这里是为了寻找相同错误的解决方案。问题是,我运行的是Eclipse、露娜和pydev + jython。根据我在其他地方读到的内容,IDE忽略了类路径环境变量,这被认为是缺乏可移植性的糟糕做法。

无论如何,eclipse/pydev对于初学者来说是相当繁重的,我花了一些时间才找到解决方案,我想和大家分享一下。

因此,安装驱动程序后,它可以放在任何地方,但当前的Windows版本有一个微星安装程序,它将把它放在Program Files (x86)\Mysql下。

在Eclipse中,转到Window->Prefences->PyDev->Interpreters->Jython解释器。

在这里,查找panel Libraries (通常默认打开)并选择New Jar按钮。浏览以找到已安装的驱动程序的jar,并选择它。这应该会将jar添加到列表中,然后在运行时就会找到驱动程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11218358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档