Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Masalah buffer MySqlDataReader GetBytes...

Daripada membaca seluruh ukuran buffer, hanya minta paling banyak ukuran buffer, tetapi juga paling banyak apa yang Anda yakini tersisa. Sejujurnya, Anda mungkin juga membuat buffer dengan ukuran yang tepat daripada ukuran tetap.

// I assume this works for MySqlDataReader too...
int length = (int)reader.GetBytes(column, 0, null, 0, 0);
byte[] buffer = new byte[length];
int index = 0;

while (index < length)
{
    int bytesRead = (int)reader.GetBytes(column, index,
                                    buffer, index, length - index);
    index += bytesRead;
}

Tetapi jika Anda menginginkan buffer yang lebih kecil (mis. jika Anda memproses buffer sekaligus), Anda dapat menggunakan:

int length = (int)reader.GetBytes(column, 0, null, 0, 0);
byte[] buffer = new byte[length];
int index = 0;

while (index < length)
{
    int bytesRead = (int)reader.GetBytes(column, index, buffer, 0, 
                                    Math.Max(buffer.Length, length - index));
    // Process the buffer, up to value bytesRead
    // ...
    index += bytesRead;
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengubah kolom MySQL untuk mengizinkan NULL?

  2. XAMPP - MySQL mati secara tidak terduga

  3. MySQL hanya mendapatkan ROLLUP keseluruhan

  4. this._callback.apply bukan fungsi ! Node js kesalahan Mysql

  5. MySQL:MEMBUTUHKAN SSL tidak ditampilkan dalam hibah