Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySql Connector तैयार स्टेटमेंट केवल 64 बाइट्स ट्रांसफर करता है

समस्या छवि फ़ाइल के निर्माता में निहित है:

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

इसमें बाइनरी मोड विशेषता होनी चाहिए:

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

फ़ाइल, एक JPEG छवि, बाइनरी है जानकारी।

साथ ही, बाइट 65 पर हेक्स डंप 1a . दिखाता है , जो फ़ाइल वर्ण का Windows OS अंत है:
0000040 1a 14 1115 1811 1821 1d1a 1f1d 1f1f 1713

कंस्ट्रक्टर को ठीक करने के बाद, MySql डेटा का आकार दिखाता है:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'create_date' टाइमस्टैम्प फ़ील्ड के लिए अमान्य डिफ़ॉल्ट मान

  2. MySQL डिलीमीटर के साथ संग्रहीत कार्यविधि सिंटैक्स बनाता है

  3. MySQL डेटाबेस में अक्षांश/देशांतर संग्रहीत करते समय उपयोग करने के लिए आदर्श डेटा प्रकार क्या है?

  4. MySQL कार्यक्षेत्र में एक डेटाबेस आरेख बनाएँ

  5. PHP प्रपत्र चेकबॉक्स और अपरिभाषित अनुक्रमणिका