python - 尝试通过 pandas : Can't load plugin: sqlalchemy. 方言连接到 ibm db2 数据库时出错:ibm_db_sa

标签 python sql pandas db2

您好,我在尝试将 Pandas 数据帧保存到 ibm db2 数据库时遇到此错误:

Can't load plugin: sqlalchemy.dialects:ibm_db_sa

我尝试了这个解决方案,但不起作用:

df = pd.read_csv('https://data.cityofchicago.org/resource/jcxq-k9xf.csv')

engine = sqlalchemy.create_engine('ibm_db_sa://'+ dsn_uid + ':' + dsn_pwd + '@'+dsn_hostname+':'+dsn_port+'/' + dsn_database )

chicago_socioeconomic_dataSQL = df.to_sql('chicago_socioeconomic_data', engine, if_exists = 'append', index=False)

有人可以帮助我吗?

谢谢你, 马泰奥

最佳答案

通过安装所需的先决模块 (ibm_db_sa) 来解决,该模块还将安装 ibm_db 模块和 ibm_db_dbi 模块,并且 (默认情况下,除非另有指示)还将把 Db2 ODBC 和 CLI 驱动程序 安装到您的 site_packages 树中。

如果您要连接到 Db2-for-Linux/Unix/Windows,则无需安装其他 IBM 软件或许可证文件。

如果您从 Microsoft-Windows 或 Linux 直接连接到 Db2-for-i-series (AS/400),那么您应该首先安装带有可选 ODBC/CLI 支持的“IBM i access”,然后将其配置为连接到 Db2 for i。有关详细信息,请参阅其文档。将 IBM_DB_HOME 环境变量设置为指向“IBM i access”组件的安装目录。正是这个环境变量将告诉 ibm_db 模块不要安装常规 ODBC/CLI 驱动程序,而是使用 IBM i access 组件。然后,您可以安装 ibm_db_sa 模块,该模块随后将使用您的“IBM i access”产品与 i 系列数据库进行通信。

如果您直接连接到 Db2 for Z/OS,如果没有 Db2-connect 许可证文件,您将无法进行连接,或者您可以通过单独的 Db2-connect 网关间接连接(在这种情况下,您不需要部署单独的许可证文件)。请参阅 IBM 的说明,了解如何将许可证文件部署到 clidriver 可以使用它的正确位置。

关于python - 尝试通过 pandas : Can't load plugin: sqlalchemy. 方言连接到 ibm db2 数据库时出错:ibm_db_sa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57769694/

相关文章:

python - 从 numpy 3d 数组创建一个整洁的 pandas 数据框

python - 在 pandas 数据帧上使用 boolean 过滤器时出现 KeyError

python - 如何使用Python+SQLAlchemy远程连接MySQL数据库?

python - 错误 : CMake must be installed to build dlib

SQL 获取特定行中具有特定值的列数

mysql - SQL错误: duplicate entry for value'0' PRIMARY

python - 我不知道如何修复 TypeError : can't concat str to bytes mean

python - 当默认编码为 ASCII 时,为什么 Python 打印 unicode 字符?

asp.net - 显示错误填充 : SelectCommand. 连接属性尚未初始化

python - Pandas 数据框中的行操作