Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara mendapatkan data BLOB menggunakan Oracle ODBC

Saya tidak terbiasa dengan pemrograman ODBC, tetapi pada pandangan pertama, satu masalah yang dapat saya lihat adalah Anda menganggap panjang data Anda kelipatan dari ukuran buffer Anda. Tetapi pembacaan terakhir tidak dijamin akan mengembalikan tepat 500 byte data.

Anda harus menulis sesuatu seperti itu. Mungkin:

  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;

Harap luangkan beberapa menit untuk meninjau Menggunakan Panjang /Nilai Indikator untuk memeriksa bagaimana panjang/nilai indikator digunakan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kompilasi prosedur oracle yang tidak valid

  2. Oracle SQL membandingkan tanggal

  3. Oracle ODP.Net Dengan Entity Framework 6 - ORA-00955 pada Pilih dari Tampilan Tabel

  4. Ubah Stempel Waktu Unix menjadi Nilai Tanggal di Oracle

  5. PHP &Oracle - oci_connect() ORA-12705:Tidak dapat mengakses file data NLS