Odinstalujte MySql.Data a nahraďte jej MySqlConnector .
(Odhalení:Jsem reportérem chyby MySql, kterou jste našli a primárním přispěvatelem do MySqlConnector .)
Kromě opravy tohoto problému a mnoha dalších chyb , MySqlConnector přidává skutečně asynchronní I/O podporu a vylepšení výkonu.
Pokud nechcete přepínat knihovny, málo známá funkce GetBytes
(podporováno jak MySql.Data, tak MySqlConnector) je předávání null
buffer vrací potřebnou délku, takže jej nemusíte pevně kódovat:
// 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);