Здравствуйте.
Решил попробовать jaydebeapi для подключения к Oracle из Python
import jpype
import jaydebeapi
jHome = jpype.getDefaultJVMPath()
PASSWORD="\"user@#007\"";
connection_string="jdbc:oracle:thin:dboracle/"+PASSWORD+"@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=dbnew)))";
jpype.startJVM(jHome, '-Djava.class.path=D:\\lib\\jdbc\\ojdbc7.jar')
conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver',
connection_string)
в результате получаю ошибку
File "D:/Server/templates/Test/Oracle.py", line 18, in <module>
connection_string)
File "C:\Program Files\Python35\lib\site-packages\jaydebeapi\__init__.py", line 380, in connect
jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs)
File "C:\Program Files\Python35\lib\site-packages\jaydebeapi\__init__.py", line 199, in _jdbc_connect_jpype
return jpype.java.sql.DriverManager.getConnection(url, *dargs)
jpype._jexception.SQLRecoverableExceptionPyRaisable: java.sql.SQLRecoverableException: Ошибка ввода/вывода: NL <b>Exception was generated TNS-04603: Синтаксическая ошибка: Непредвиденный символ "#" при синтаксическом разборе alias</b>
Если я все верно понял, то с экранированием @ решить удалось, а что не так с #? либо есть другие варианты оформления подключения?