AttributeError: type object ‘String‘ has no attribute ‘RETURNS_CONDITIONAL‘ 错误终极解决方案

想必你看到这个错误的时候你是在python中尝试用sqlalchemy连接DB2数据库,那就没错了,你看我这个帖子就能解决问题。

错误如下:

 解决方案如下:

一、想要在python中使用sqlalchemy操作DB2,除了需要安装sqlchemy,还需要安装如下两个包:(先别急着操作,看完我一二三所有步骤之后再去操作,不然你会吃亏)

1、 ibm-db

pip install ibm-db(此包安装可能会卡顿一会儿,被crtl+c了,等一会它就自动安装好了)

2、ibm_db_sa

pip install ibm_db_sa

二、版本警告

sqlalchemy这玩意儿很怪,我最后直接pip install sqlchemy, 没有指定版本,所以一直就报题目中的错,然后我更新了下版本,果然没做任何代码改变就连上了。所以我给出我这三个包的版本组合情况:

SQLAlchemy==1.3.23

ibm-db==3.1.4
ibm-db-sa==0.3.9

三、连接字符串

你可能以为你连接字符串写错了吧,是不是一直在疯狂地找看正确的连接字符串怎么写,我告诉你,你十有八九写的是对的,因为db2和其它mysql一样,都遵循SQLAlchemy的连接字符串规范。连接代码如下:

from sqlalchemy import create_engine

connection_str = "db2+ibm_db://{}:{}@{}:{}/{};".format(config.database.user, config.database.pwd,config.database.host, config.database.port, config.database.db)
self.engine = create_engine(connection_str)

总结

可以大言不惭的说,估计90%的可能性已经解决了你的问题,网上对于这个问题,可能没找到比我更好的解决方案了吧。哈哈哈,是的,以为我也各种搜过了,就是没有,所以本人提供第一个解决贴,相信此贴肯定会爆火,大家点赞!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值