Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Prawidłowe pobieranie obiektów blob z bazy danych mysql za pomocą konektora mysql w pythonie

Natknęliśmy się na ten sam problem, że bloki BLOB były błędnie odczytywane jako ciągi znaków UTF-8 w MySQL 8.0.13, mysql-connector-python 8.0.13 i sqlalchemy 1.2.14.

Co nam pomogło, to włączenie use_pure opcja łącznika MySQL . Wartość domyślna use_pure zmienił się w 8.0.11 z nowym domyślnym używaniem rozszerzenia C. W związku z tym cofamy opcję:

create_engine(uri, connect_args={'use_pure': True}, ...)

Szczegóły naszego błędu i śledzenia stosu:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9c in position 1: invalid start byte
The above exception was the direct cause of the following exception:

Traceback (most recent call last):
    ....
    File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 272, in execute
        self._handle_result(result)
    File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 163, in _handle_result
        self._handle_resultset()
    File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 651, in _handle_resultset
        self._rows = self._cnx.get_rows()[0]
    File "/usr/local/lib/python3.6/site-packages/mysql/connector/connection_cext.py", line 273, in get_rows
        row = self._cmysql.fetch_row()
    SystemError: <built-in method fetch_row of _mysql_connector.MySQL object at 0x5627dcfdf9f0> returned a result with an error set


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak włączyć automatyczne ponowne łączenie klienta MySQL z MySQLdb?

  2. Powiąż 3 tabele w 2 różnych przypadkach w MySQL

  3. Jak uzyskać wszystkie kombinacje danych z tabeli MySQL?

  4. Czy istnieje prosty framework stronicowania dla php, który można łatwo zaimplementować?

  5. Skanowanie tabeli mysql od dołu