首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jaydebeapi用Python连接MYSQL DB

用jaydebeapi用Python连接MYSQL DB
EN

Stack Overflow用户
提问于 2020-08-21 18:08:57
回答 1查看 850关注 0票数 0

我试图通过MySQL提示符并使用JayDeBeApi连接到Python。下面是我正在使用的代码:

代码语言:javascript
复制
"**Python 2.7.16 (default, Oct 10 2019, 22:02:15) 
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpype
>>> import jaydebeapi
>>> import os
>>> jar = "/tmp/:/usr/share/java/"
>>> os.environ['JAVA_HOME'] ="/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64"
>>> os.environ['CLASSPATH'] =jar
>>> args='-Djava.class.path=%s' % jar
>>> jvm_path = jpype.getDefaultJVMPath()
>>> jpype.startJVM(jvm_path, args)
/home/aarpan_roy/.local/lib/python2.7/site-packages/jpype/_core.py:218: UserWarning: 
-------------------------------------------------------------------------------
Deprecated: convertStrings was not specified when starting the JVM. The default
behavior in JPype will be False starting in JPype 0.8. The recommended setting
for new code is convertStrings=False.  The legacy value of True was assumed for
this session. If you are a user of an application that reported this warning,
please file a ticket with the developer.
-------------------------------------------------------------------------------

  """)
>>> database_host='<MySQL DB HOST>'
>>> database_user='<MySQL DB USER>'
>>> database_password='<MySQL DB PASSWORD>'
>>> database_port='<MySQL DB PORT>'
>>> database_db='<MySQL DB DATABASE>'
>>> jclassname = "com.mysql.jdbc.Driver"
>>> url = "jdbc:mysql://{host}:{port}/{database}".format(host=database_host, port=database_port, database=database_db)
>>> driver_args = [url, database_user, database_password]
>>> jars = ["/tmp/mysql-connector-java-5.1.45.jar","/usr/share/java/mysql.jar"]
>>> libs = None
>>> cnx = jaydebeapi.connect(jclassname, url, driver_args, jars=jars, libs=libs)**

但是,下面是错误:"Traceback (最近一次调用):File“,第1行,在File "/.local/lib/python2.7/site-packages/jaydebeapi/init.py",第412行,在connect jconn = _jdbc_connect(jclassname,url,driver_args,jar,libs)文件"/.local/lib/python2.7/site-packages/jaydebeapi/init.py",行221,在"/.local/lib/python2.7/site-packages/jpype/_jclass.py",jpype.JClass(jclassname)文件第130行中,在返回_JClassNew(args,**kwargs)文件第228行中,在_JClassNew javaClass = _jpype.PyJPClass(arg) jpype._jclass.NoClassDefFoundError: java.lang.NoClassDefFoundError: com/mysql/jdbc/Driver中“

你能帮我弄清楚我在哪里漏掉了什么东西吗?这里需要纠正什么?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-09-10 13:37:10

我无法在指定的类路径上找到正确的mysql驱动程序JAR。因此,您得到了您正在看到的ClassNotFoundException。尝试指定它的确切路径。

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

https://stackoverflow.com/questions/63528007

复制
相关文章

相似问题

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