sql >> Database >  >> RDS >> Mysql

MySqlDataReader.GetStream() gooit IndexOutOfRangeException

Verwijder MySql.Data en vervang het door MySqlConnector .

(Disclosure:ik ben de verslaggever van de MySql-bug die je hebt gevonden en de belangrijkste bijdrager aan MySqlConnector .)

Naast het oplossen van dat probleem en vele andere bugs , MySqlConnector voegt echte asynchrone I/O-ondersteuning en prestatieverbeteringen toe.

Als u niet van bibliotheek wilt wisselen, een weinig bekende functie van GetBytes (ondersteund door zowel MySql.Data als MySqlConnector) is dat doorgeven in een null buffer geeft de benodigde lengte terug, zodat u deze niet hard hoeft te coderen:

// 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. Kan geen verbinding maken met PostgreSQL met PHP pg_connect()

  2. Hoe voeg ik meer leden toe aan mijn ENUM-type kolom in MySQL?

  3. Een JSON-dataset weergeven als een tabel met Node.js en Express

  4. Databasebeheer en -bewaking voor PostgreSQL 12