使用 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