databricks-sql-python icon indicating copy to clipboard operation
databricks-sql-python copied to clipboard

AttributeError during pd.read_sql_table

Open r-nasc opened this issue 2 years ago • 0 comments

SQLAlchemy version: 1.4.22 databricks-sql-connector version: 2.9.3

The following code throws the error below:

from sqlalchemy import create_engine
[...]
conn = create_engine(
    f"databricks://token:{token}@{host}?http_path={path}"
    "&catalog={catalog}&schema={schema}"
)
test = pd.read_sql_table(table, con=conn)

File "[REDACTED]\sqlalchemy\engine\reflection.py", line 266, in get_table_names return self.dialect.get_table_names( File "[REDACTED]\databricks\sqlalchemy\dialect_init_.py", line 247, in get_table_names with self.get_connection_cursor(connection) as cur: File "[REDACTED]\databricks\sqlalchemy\dialect_init_.py", line 299, in get_connection_cursor return connection._dbapi_connection.dbapi_connection.cursor() File "[REDACTED]\sqlalchemy\pool\base.py", line 985, in getattr return getattr(self.connection, key) AttributeError: 'Connection' object has no attribute 'dbapi_connection'

I believe the line linked below should read connection._dbapi_connection.cursor() (attr exists) instead of connection._dbapi_connection.dbapi_connection.cursor() (attr doesnt exist)

https://github.com/databricks/databricks-sql-python/blame/0e7ce57ae4fecc364c4de55d6adace33c39aff5f/src/databricks/sqlalchemy/base.py#L360C13-L360C74

r-nasc avatar Nov 10 '23 20:11 r-nasc