Във връзката, която предоставяте, ясно се посочва, че за полетата TEXT „Ефективната максимална дължина е по-малка, ако стойността съдържа многобайтови знаци. "
UTF-8 е Unicode Charset и е по подразбиране за вашата база данни. Той използва 1-байтови представяния за първите 128 знака, които съответстват на ASCII набора, и 4-байтови представяния за останалите знаци.
Това означава, че колона TEXT може да има съхранени повече или по-малко знаци в зависимост от това дали знаците са ASCII или не.
Сега вашият проблем идва, когато драйверът на MySQL не обработва това правилно и ще приеме, че всички UTF-8 знаци са широки 4 байта и ще раздели дължината на колоната на 4-те байта и ще я предаде на DataTable като действителната дължина на полето. Това означава, че е технически възможно да имате някакъв текст във вашата база данни, който няма да се побере в DataTable, както се случи във вашия случай.
Решението (или заобиколното решение в този случай) на вашия проблем е точно това, което сте направили за момента, което е промяна на колоната към тип, който може да съдържа повече знаци, като MEDIUMTEXT или LONGTEXT.
Предполагам, че това решение е взето, за да се опрости внедряването на MySQL драйвера, но бих помислил да изпратя доклад за грешка до Oracle.