Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySqlDataReader.GetStream () ném IndexOutOfRangeException

Gỡ cài đặt MySql.Data và thay thế nó bằng MySqlConnector .

(Tiết lộ:Tôi là người báo cáo về lỗi MySql mà bạn tìm thấy và người đóng góp chính cho MySqlConnector .)

Cũng như khắc phục sự cố đó và nhiều lỗi khác , MySqlConnector bổ sung hỗ trợ I / O không đồng bộ thực sự và cải tiến hiệu suất.

Nếu bạn không muốn chuyển đổi thư viện, một tính năng ít được biết đến của GetBytes (được hỗ trợ bởi cả MySql.Data và MySqlConnector) là chuyển vào null bộ đệm trả về độ dài cần thiết, vì vậy bạn không cần phải mã hóa nó:

// get the length of the column and allocate a buffer
var length = dbDataReader.GetBytes(0, 0, null, 0, 0);
var passwordHash = new byte[length];

// fill the buffer from the column
dbDataReader.GetBytes(0, 0, passwordHash, 0, passwordHash.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. Thư viện lỗi hành khách không được tải

  2. Giải thích hàm IF () trong MySQL

  3. Cách kết nối với MySQL bằng Perl

  4. Lỗi hàm giá trị tiếp theo

  5. mysql.sock không được tạo OSX