python - 通过 SQL Alchemy 错误连接到 Exasol DB
问题描述
我正在尝试通过 SQL Alchemy 连接到 Exasol DB
我使用以下方法安装了 SQL Alchemy:
pip install sqlalchemy-exasol
代码如下:
from sqlalchemy import create_engine
e = create_engine("exa+pyodbc://<user>:<password>@<host>:<port>/<schema>?CONNECTIONLCALL=en_US.UTF-8&driver=com.exasol.jdbc.EXADriver")
e.execute("Select count(*) from TableA").fetchall()
我也试过这个:
e = create_engine("exa+pyodbc://<user>:<password>@<host>:<port>/<schema>")
无论哪种方式,我都会收到以下错误:
Traceback (most recent call last):
File "C:\Users\xxx\AppData\Local\Continuum\Anaconda3\lib\site-packages\sqlalchemy\pool.py", line 1122, in _do_get
return self._pool.get(wait, self._timeout)
File "C:\Users\xx\AppData\Local\Continuum\Anaconda3\lib\site-packages\sqlalchemy\util\queue.py", line 145, in get
raise Empty
sqlalchemy.util.queue.Empty
During handling of the above exception, another exception occurred:
sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
有任何想法吗?我的连接详细信息格式一定有问题,但我不确定是什么...
解决方案
错误消息听起来像是 odbc 驱动程序 DNS 配置不正确。安装 ODBC 驱动程序。
推荐阅读
- php - 二维数组的 AWS API 网关映射模型
- angular - Html2Canvas 只呈现我屏幕的一半
- delphi - 如何设置 Windows Media Player 在特定位置显示帧
- android - 当我在带有数据绑定的 xml 中按“重新格式化代码”时,Android Studio 3.5 更改视图顺序
- symfony - 无法添加“bin/console”命令并在 PhpStorm 的 Xdebug 中运行它
- macos - 无法在 MAC OS 上的 JMeter 中查看侦听器响应正文数据
- javascript - 使浏览器动作模仿服务器请求
- node.js - 使用 kubernetes/client-node 库
- c# - Net Core:X.Paged List 是否允许多列排序?
- android - LinearLayout 显示然后动画