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

ओरेकल ओडीबीसी का उपयोग करके बीएलओबी डेटा कैसे प्राप्त करें

मैं ओडीबीसी प्रोग्रामिंग से परिचित नहीं हूं, लेकिन पहली नजर में, एक मुद्दा जो मैं देख सकता हूं वह यह है कि आप मानते हैं कि आपके डेटा की लंबाई आपके बफर आकार से अधिक है। लेकिन अंतिम पठन बिल्कुल पर लौटने की गारंटी नहीं है 500 बाइट डेटा।

आपको कुछ ऐसा लिखना चाहिए। शायद:

  string str;
  SQLCHAR buf[500];
  SQLLEN cbLeft;      // #bytes remained

  while ((SQL_SUCCEEDED(SQLGetData(StmtHandle, 
                                   colnum, 
                                   SQL_C_BINARY, 
                                   buf, 
                                   sizeof(buf),
                                   &cbLeft))))
  //                               ^^^^^^^
  {
          string data(reinterpret_cast< const char* >(buf),
                      reinterpret_cast< const char* >(buf)
                      + cbLeft);
          //            ^^^^^^
          str = str + data;

कृपया कुछ मिनट के लिए Length का उपयोग करके समीक्षा करें। /संकेतक मान यह जांचने के लिए कि लंबाई/संकेतक मान . कैसे है उपयोग किया जाता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं Oracle SQL में BLOB से पाठ्य सामग्री कैसे प्राप्त करूं?

  2. अन्य कॉलम कैसे प्राप्त करें एक ऑरैकल चयन एसक्यूएल में ग्रुप बाय क्लॉज में नहीं हैं?

  3. जावा:Io अपवाद:नेटवर्क एडेप्टर कनेक्शन स्थापित नहीं कर सका

  4. Oracle में डेटाटाइम मान से समय क्षेत्र वापस करने के 3 तरीके

  5. जावा में रिजल्टसेट ऑब्जेक्ट्स में कैसे शामिल हों?