taogeYT / pydbclib

Python database toolkit for humans
Apache License 2.0
20 stars 3 forks source link

get_columns, 在2.2.2版本异常,之前用的2.1.8正常 #3

Closed dokoma closed 1 year ago

dokoma commented 2 years ago

-- CODE import pydbclib from sqlalchemy import create_engine

conn="oracle://user:passwd@10.107.3.15:1521/?service_name=somepdb"; engine=create_engine(conn,max_identifier_length=128) db = pydbclib.connect(driver=engine)

x=db.read_one("select count(*) cnt from user_tables") print(x)

----- ENV ORACLE 12 instant client, cx_Oracle 8.3.1 , pydbclib 2.2.2

-- STACKTRACE Traceback (most recent call last): File "test.py", line 10, in x=db.read_one("select count(*) cnt from user_tables") File "/usr/local/lib/python3.6/site-packages/pydbclib/database.py", line 112, in read_one columns = r.get_columns() File "/usr/local/lib/python3.6/site-packages/pydbclib/drivers.py", line 72, in get_columns return [i[0].lower() for i in self.description] File "/usr/local/lib/python3.6/site-packages/pydbclib/drivers.py", line 57, in getattr return self._get_description() File "/usr/local/lib/python3.6/site-packages/pydbclib/drivers.py", line 67, in _get_description description = self.context._cursor_description() AttributeError: 'CursorResult' object has no attribute '_cursor_description'

taogeYT commented 1 year ago

sqlalchemy 版本问题,1.4以上版本接口变化比较多不支持