Sqlalchemy 查询mysql 5.7 数据库时 提示TypeError('ord()

使用 Flask-Sqlalchemy 2.5.1  和 cymysql 0.9.91 连接mysql 数据库 , 查询数据时,提示sqlalchemy.exc.DBAPIError: (cymysql.err.Error) (<class 'TypeError'>, TypeError('ord() expected a character, but string of length 0 found'))

把查询语句发出来看看,这样无法判断原因。

查询语句 就是简单的select * from test ,  test 表 :

a    varchar(255)    YES            
b    varchar(255)    YES            

 

Traceback (most recent call last):
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\cursors.py", line 130, in execute
    self._query(query)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\cursors.py", line 240, in _query
    conn.query(q)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\connections.py", line 344, in query
    self._result = MySQLResult(self)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\packet.py", line 279, in __init__
    self._get_descriptions()
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\packet.py", line 306, in _get_descriptions
    field = FieldDescriptorPacket(self.connection)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\packet.py", line 201, in __init__
    self.__parse_field_descriptor()
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\packet.py", line 208, in __parse_field_descriptor
    self.db = self._read_length_coded_string()
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\packet.py", line 144, in _read_length_coded_string
    length = self.read_length_coded_binary()
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\packet.py", line 125, in read_length_coded_binary
    c = ord(self._read(1))
TypeError: ord() expected a character, but string of length 0 found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\base.py", line 1706, in _execute_context
    cursor, statement, parameters, context
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\default.py", line 692, in do_execute
    cursor.execute(statement, parameters)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\cursors.py", line 135, in execute
    self.errorhandler(exc, value)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\cursors.py", line 37, in errorhandler
    self.connection.errorhandler(self, errorclass, errorvalue)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\connections.py", line 115, in errorhandler
    raise Error(errorclass, errorvalue)
cymysql.err.Error: (<class 'TypeError'>, TypeError('ord() expected a character, but string of length 0 found'))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 1822, in handle_user_exception
    return handler(e)
  File "E:\project\python\WULIU-serverless\app.py", line 27, in framework_error
    from _pydev_bundle import pydev_imports, pydev_log
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "E:\project\python\WULIU-serverless\wuliu\api\v1\client.py", line 33, in create_client
    return promise[form.type.data]()
  File "E:\project\python\WULIU-serverless\wuliu\api\v1\client.py", line 62, in __register_user_by_Mobile_MessageCode
    aa = db.session.execute( "select * form test" )
  File "<string>", line 2, in execute
    
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\orm\session.py", line 1670, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\base.py", line 1520, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\sql\elements.py", line 314, in _execute_on_connection
    self, multiparams, params, execution_options
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\base.py", line 1399, in _execute_clauseelement
    cache_hit=cache_hit,
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\base.py", line 1749, in _execute_context
    e, statement, parameters, cursor, context
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\base.py", line 1930, in _handle_dbapi_exception
    sqlalchemy_exception, with_traceback=exc_info[2], from_=e
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\util\compat.py", line 211, in raise_
    raise exception
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\base.py", line 1706, in _execute_context
    cursor, statement, parameters, context
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\sqlalchemy\engine\default.py", line 692, in do_execute
    cursor.execute(statement, parameters)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\cursors.py", line 135, in execute
    self.errorhandler(exc, value)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\cursors.py", line 37, in errorhandler
    self.connection.errorhandler(self, errorclass, errorvalue)
  File "C:\Users\YoYo\.virtualenvs\APIWuliu-ms6MXwf7\lib\site-packages\cymysql\connections.py", line 115, in errorhandler
    raise Error(errorclass, errorvalue)
sqlalchemy.exc.DBAPIError: (cymysql.err.Error) (<class 'TypeError'>, TypeError('ord() expected a character, but string of length 0 found'))
[SQL: select * form test]
(Background on this error at: http://sqlalche.me/e/14/dbapi)
 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632