pymysql 连接oracle,python 3 使用pymysql 连接Inception 问题

pymysql 连接Inception ,在判断版本时会出现value error 问题。

原因是pymysql通过‘.’进行分割,但是Inception的版本信息是这样的

./mysql -V

Ver 14.14 Distrib Inception2.1.50, for Linux (x86_64) using  EditLine wrapper

oracle mysql的版本是:

mysql  Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using  EditLine wrapper

因此Pymysql获取到的值为Inception2,最后int() 报value error。

可以简单修改pymysql connections.py(只是解决了问题,对具体代码还不是很了解)def _request_authentication(self):

# https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse

if self.server_version.split('.', 1)[0] == 'Inception2':

self.client_flag |= CLIENT.MULTI_RESULTS

elif int(self.server_version.split('.', 1)[0]) >= 5:

self.client_flag |= CLIENT.MULTI_RESULTS

使用Pymysql connection配置可以是下面这样conn = pymysql.connect(host='127.0.0.1',

user='',

passwd='',

db='',

port=6669,

autocommit=True,

cursorclass=pymysql.cursors.DictCursor,

charset='utf8mb4'

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值