sql >> Database teknologi >  >> RDS >> Mysql

MySql Connector forberedt erklæring overfører kun 64 bytes

Problemet ligger i konstruktøren af ​​billedfilen:

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

Dette skal have attributten binær tilstand:

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

Filen, et JPEG-billede, er binær data.

Også hex-dumpet ved byte 65 viser 1a , som er Windows OS slutningen af ​​filens tegn:
0000040 1a 14 1115 1811 1821 1d1a 1f1d 1f1f 1713

Efter at have rettet konstruktøren, viser MySql datastørrelsen:

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. Kan ikke oprette forbindelse til MySQL-serveren på 'localhost' (10061) efter installation

  2. MySQL bulk drop tabel hvor bordet gerne?

  3. DATEADD() Eksempler i SQL Server

  4. Facebook Registrering Connect