sql >> Database teknologi >  >> RDS >> Mysql

MySqlDataReader.GetStream() kaster IndexOutOfRangeException

Afinstaller MySql.Data, og erstat det med MySqlConnector .

(Oplysning:Jeg er reporter af MySql-fejlen, du fandt og den primære bidragyder til MySqlConnector .)

Samt at løse det problem og mange andre fejl , MySqlConnector tilføjer ægte async I/O-understøttelse og ydeevneforbedringer.

Hvis du ikke ønsker at skifte bibliotek, er en lidet kendt funktion i GetBytes (understøttet af både MySql.Data og MySqlConnector) er, at indlevering af en null buffer returnerer den nødvendige længde, så du behøver ikke at hardkode den:

// 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. Hvordan kan jeg få kolonnenavne fra en tabel i SQL Server?

  2. Hvordan man betinget håndterer division med nul med MySQL

  3. Kan jeg udføre MySQL SQL-sætninger i FireFox?

  4. Sådan gør du en optælling på en fagforeningsforespørgsel