DSX“帮助:找不到 IBM dashDB/DB2 的 JDBC 驱动程序。”

Posted

技术标签:

【中文标题】DSX“帮助:找不到 IBM dashDB/DB2 的 JDBC 驱动程序。”【英文标题】:DSX "HELP: The JDBC driver for IBM dashDB/DB2 could not be found." 【发布时间】:2017-06-02 15:20:37 【问题描述】:

我正在关注 IBM 演示笔记本。我在 Bluemix 中打开的 DSX 新实例中创建了一个新笔记本。 DSX 似乎将我现有的 DSX 实例与新的 DSX 实例结合在一起。

当我尝试连接到 dashDB 实例时,我收到一个错误,即找不到 jdbc DB2Driver 类。它建议将罐子添加到 /usr/local/... 路径。如何将正确的 DB2 驱动程序 (db2jcc4.jar) jar 添加到 DSX 的新 Bluemix 实例?我还需要 db2jcc_license_cu.jar 吗?

【问题讨论】:

你能分享演示笔记本的链接并指出你使用的是哪个内核吗? apsportal.ibm.com/analytics/notebooks/… 内核是带有 spark 2.0 的 python 2 @JA***s 请从笔记本中隐藏您的 dash 凭据 【参考方案1】:

选项 1 ibmdbpy 的第一件事默认安装存在于 /usr/local/.... 您不能在那里添加 db2jcc jar。 卸载已安装的 ibmdbpy,然后安装 ibmdbpy 将其安装在用户(spark 租户)的 .local 目录中。

!pip install --user lazy !pip install --user jaydebeapi !pip uninstall --yes ibmdbpy !pip install ibmdbpy --user --ignore-installed --no-deps !wget -O $HOME/.local/lib/python2.7/site-packages/ibmdbpy/db2jcc4.jar https://ibm.box.com/shared/static/lmhzyeslp1rqns04ue8dnhz2x7fb6nkc.zip

这行得通。 参考:-https://github.com/ibmdbanalytics/ibmdbpy-notebooks/blob/master/ibmdbPyDemo.ipynb

选项 2

如果您可以使用替代方法,DSX 上有可用的 python 连接器。 https://datascience.ibm.com/docs/content/analyze-data/python_load.html#ibm-dashdb

from ingest.Connectors import Connectors

dashDBloadOptions =  Connectors.DASHDB.HOST              : 'hostname',
                  Connectors.DASHDB.DATABASE          : 'BLUDB',
                  Connectors.DASHDB.USERNAME          : 'username',
                  Connectors.DASHDB.PASSWORD          : 'XXXXX',
                  Connectors.DASHDB.SOURCE_TABLE_NAME : 'schema.MYTABLE'

dashdbDF = sqlContext.read.format("com.ibm.spark.discover").options(**dashDBloadOptions).load()
dashdbDF.printSchema()
dashdbDF.show()

如果你感兴趣的话,这会给你火花数据框。

谢谢, 查尔斯。

【讨论】:

我想使用 ibmdbpy。我下载了您引用的笔记本,然后从此文件创建了一个新笔记本,但失败并出现同样的错误。 /usr/local/src/conda3_runtime.v9/4.1.1/lib/python3.5/site-packages/jpype/_jclass.py 在 JClass(name) 53 jc = _jpype.findClass(name) 54 如果 jc 为 None: ---> 55 raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name) 56 57 return _getClassFor(jc) java.lang.ExceptionPyRaisable: java.lang.Exception: Class com.ibm.db2.jcc.DB2Driver not找到

以上是关于DSX“帮助:找不到 IBM dashDB/DB2 的 JDBC 驱动程序。”的主要内容,如果未能解决你的问题,请参考以下文章

怎么区别FLUKE DSX-8000和DSX2-8000

怎么区别FLUKE DSX-8000和DSX2-8000

怎么区别FLUKE DSX-8000和DSX2-8000

DSX-5000DSX-8000维修触摸屏失灵

DSX-5000DSX-8000维修触摸屏失灵

DSX-5000DSX-8000维修触摸屏失灵