Ошибка подключения JDBC к имени службы Oracle (jaydebeapi) - PullRequest
1 голос
/ 01 июля 2019

Пытаюсь сделать запрос Oracle в python от Raspberry pi.Проблема заключается в следующем:

"Oracle не поддерживает архитектуру процессора ARM, которую использует Raspberry Pi. Вы загрузили и распаковали Oracle Instant Client, но на самом деле он не может работать. А без библиотек Oracle Client cx_oracleне будет работать, и не будет работать с общими коннекторами Python ODBC. "

Но мне нужен python, поэтому установлены JPype и JayDeBeApi, и я написал это на jupyter notebopok:

import jaydebeapi
import jpype
from jpype import *
classpath="ava-1.5.0-gcj-6-armhf"
jvm_path = "/usr/lib/jvm/java-1.5.0-gcj-6-armhf/lib"
jHome = jpype.getDefaultJVMPath()
print(jHome)

/ usr / lib / jvm / jdk-8-oracle-arm32-vfp-hflt / jre / lib / arm / client / libjvm.so

conn=jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','[admin]/[root]@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=helloworld.com)(PORT=1521))(CONNECT_DATA=(SID=hello42)))')

но у меня естьэта ошибка:

AttributeError                            Traceback (most recent call last)
<ipython-input-34-82d7959b353e> in <module>
----> 1 conn=jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','[admin]/[root]@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=helloworld.com)(PORT=1521))(CONNECT_DATA=(SID=hello42)))')

/usr/local/lib/python3.5/dist-packages/jaydebeapi/__init__.py in connect(jclassname, url, driver_args, jars, libs)
    379     else:
    380         libs = []
--> 381     jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs)
    382     return Connection(jconn, _converters)
    383 

/usr/local/lib/python3.5/dist-packages/jaydebeapi/__init__.py in _jdbc_connect_jpype(jclassname, url, driver_args, jars, libs)
    181         types_map = {}
    182         for i in types.__javaclass__.getClassFields():
--> 183             types_map[i.getName()] = i.getStaticAttribute()
    184         _init_types(types_map)
    185     global _java_array_byte

AttributeError: '_jpype.PyJPField' object has no attribute 'getStaticAttribute'

как это исправить?

1 Ответ

3 голосов
/ 01 июля 2019

Какую версию JPype вы используете?На прошлой неделе вышла новая версия.Если вы используете версию 0.7.0, попробуйте предыдущую версию 0.6.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...