Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySqlDataReader.GetStream() wyrzuca IndexOutOfRangeException

Odinstaluj MySql.Data i zastąp go MySqlConnector .

(Ujawnienie:jestem reporterem Znalezionego przez Ciebie błędu MySql oraz główny współtwórca MySqlConnector .)

Oprócz naprawienia tego problemu i wielu innych błędów , MySqlConnector dodaje prawdziwą obsługę we/wy asynchronicznej i poprawę wydajności.

Jeśli nie chcesz przełączać bibliotek, mało znana funkcja GetBytes (obsługiwane zarówno przez MySql.Data, jak i MySqlConnector) polega na tym, że przekazywanie w null bufor zwraca wymaganą długość, więc nie musisz jej kodować na stałe:

// 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. Domyślna wartość dla pustych pól liczb całkowitych podczas importowania danych CSV w MySQL

  2. jak wypełnić wartość kolumny mysql na podstawie formuły?

  3. Adnotacja Hibernate 4 — błąd konfiguracji MySQL:java.sql.SQLException:nie można dodać ograniczenia klucza obcego

  4. mysql - WSTAW zakres dat do kolumn dat JEŚLI daty nie pokrywają się z istniejącymi

  5. Błąd MySQL Za dużo połączeń