clickhouse-- EOFError: Unexpected EOF while reading bytes

    今天clickhouse换了个服务器,从20.3.12换到版本19.16.19,发现之前脚本中使用的client api不能用了,报错如下

>>> client.execute('SHOW DATABASES')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/usr/lib64/python2.7/site-packages/clickhouse_driver/client.py", line 205, in execute

    self.connection.force_connect()

  File "/usr/lib64/python2.7/site-packages/clickhouse_driver/connection.py", line 184, in force_connect

    self.connect()

  File "/usr/lib64/python2.7/site-packages/clickhouse_driver/connection.py", line 256, in connect

    return self._init_connection(host, port)

  File "/usr/lib64/python2.7/site-packages/clickhouse_driver/connection.py", line 238, in _init_connection

    self.receive_hello()

  File "/usr/lib64/python2.7/site-packages/clickhouse_driver/connection.py", line 331, in receive_hello

    packet_type = read_varint(self.fin)

  File "clickhouse_driver/varint.pyx", line 40, in clickhouse_driver.varint.read_varint

  File "clickhouse_driver/bufferedreader.pyx", line 55, in clickhouse_driver.bufferedreader.BufferedReader.read_one

  File "clickhouse_driver/bufferedreader.pyx", line 191, in clickhouse_driver.bufferedreader.BufferedSocketReader.read_into_buffer

EOFError: Unexpected EOF while reading bytes

>>>

网上无解,原因不知道。没办法去官方文档上翻一翻

https://clickhouse-driver.readthedocs.io/en/latest/dbapi.html#connection

发现可以使用另外一个api 连接数据库(DB API 2.0)---connect,可以规避这个问题

github上使用示例:

        https://github.com/mymarilyn/clickhouse-driver

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。