sql >> Databáze >  >> RDS >> Mysql

MySqlDataReader.GetStream() vyvolá výjimku IndexOutOfRangeException

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);


  1. Vybrat předchozí řádek mysql?

  2. Jak odstranit omezení Not Null v MySQL

  3. Vizualizace bodu zvratu pomocí Plan Explorer

  4. Odstraňování problémů s přidělením proměnné paměti na serveru SQL Server