sql >> Databasteknik >  >> RDS >> Mysql

MySqlDataReader.GetStream() kastar IndexOutOfRangeException

Avinstallera MySql.Data och ersätt det med MySqlConnector .

(Upplysning:Jag är reportern för MySql-felet du hittade och den primära bidragsgivaren till MySqlConnector .)

Samt att åtgärda det problemet och många andra buggar , MySqlConnector lägger till äkta async I/O-stöd och prestandaförbättringar.

Om du inte vill byta bibliotek, en föga känd funktion i GetBytes (stöds av både MySql.Data och MySqlConnector) är att skicka in en null buffert returnerar den nödvändiga längden, så du behöver inte hårdkoda 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. Hur använder man Mysql-variabler med Hibernate?

  2. Förenkla hanteringen av användarkonton med MariaDB MaxScale 2.2 och MariaDB Server 10.3

  3. Hitta bästa matchande rad i MySQL (InnoDB)

  4. mysql concat funktion