sql >> Databáze >  >> RDS >> Mysql

Připravený výpis MySql Connector přenáší pouze 64 bajtů

Problém spočívá v konstruktoru souboru obrázku:

std::ifstream   blob_file(filename.c_str());

To by mělo mít atribut binárního režimu:

std::ifstream   blob_file(filename.c_str(), std::ios_base::binary);

Soubor, obrázek JPEG, je binární data.

Také hexadecimální výpis na byte 65 ukazuje 1a , což je znak konce souboru operačního systému Windows:
0000040 1a 14 1115 1811 1821 1d1a 1f1d 1f1f 1713

Po opravě konstruktoru MySql zobrazí velikost dat:

mysql> SELECT ID_Picture, LENGTH(Image_Data)
    -> FROM picture_image_data
    -> WHERE ID_Picture = 1;
+------------+--------------------+
| ID_Picture | LENGTH(Image_Data) |
+------------+--------------------+
|          1 |              18453 |
+------------+--------------------+
1 row in set (0.00 sec)



  1. Logický pohled na datový model v R12.2

  2. Agregovat řádky v SQL příkazu Oracle

  3. Rozdíl ve zpracování mezer mezi Oracle a SQL Server

  4. Připojte se k nám a získejte úvod do přístupu k SQL Serveru