sqlalchemy create_engine问题与oracle

时间:2017-04-28 14:27:07

标签: python oracle sqlalchemy cx-oracle

我正在尝试连接到我的Oracle数据库而我无法创建引擎:

engine = create_engine('oracle://user:pass@localhost:1521/dbname')

我得到的错误是:

/anaconda2/lib/python2.7/site-packages/sqlalchemy/dialects/oracle/cx_oracle.pyc in __init__(self, auto_setinputsizes, exclude_setinputsizes, auto_convert_lobs, threaded, allow_twophase, coerce_to_decimal, coerce_to_unicode, arraysize, **kwargs)
705         if hasattr(self.dbapi, 'version'):
706             self.cx_oracle_ver = tuple([int(x) for x in
707                                         self.dbapi.version.split('.')])
708         else:
709             self.cx_oracle_ver = (0, 0, 0)

ValueError: invalid literal for int() with base 10: '0b1'

我的操作系统:RedHat 7

Oracle Express 11g

Python 2.7 Anaconda

cx_Oracle 6.0

cx_Oracle.clientversion()=(12,2,0,1,0)

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这是SQLAlchemy中的错误(或至少是不兼容),因为''在cx_Oracle的预发布版本6.0b1中。已报告此问题here,其中包含您可以应用于自己的SQLAlchemy安装的建议修复程序,或者您可以等待修复程序发布。或者,如果您使用cx_Oracle版本5.3,则不会出现该问题。