Isso parece um bug no MySQL Connector/NET da Oracle (também conhecido como
MySql.Data
). Não se parece com nenhum bug com o qual eu esteja familiarizado nesse banco de dados de bugs; pode ser necessário arquivar como um novo problema. (Bug 75301
parece semelhante, mas não é imediatamente óbvio que é o mesmo problema.) Eu recomendaria mudar para MySqlConnector ; é uma biblioteca ADO.NET alternativa para MySQL que tem grande compatibilidade com Dapper e corrige muitos bugs conhecidos no MySQL Connector/NET. MySqlConnector também tem suporte a E/S assíncrona, que é não implementado em Conector/NET; isso será importante se você quiser usar
QueryAsync
em seu código. Se você quiser continuar usando o MySQL Connector/NET da Oracle, poderá solucionar o problema adicionando
CheckParameters=false
à sua cadeia de conexão. Observe que isso pode ser uma alteração importante ao seu código; se você definir a configuração como false, terá que garantir manualmente que os parâmetros adicionados a cada CommandType.StoredProcedure
MySqlCommand
estão exatamente na mesma ordem que o banco de dados (porque MySql.Data não irá mais corrigi-los para você). Atualização: Depois de examinar o código-fonte do Connector/NET, parece que seu banco de dados tem alguns dados que não está esperando. Alguma das duas consultas a seguir produz linhas? Em caso afirmativo, quais valores são
NULL
? SELECT * FROM information_schema.routines
WHERE specific_name IS NULL OR
routine_schema IS NULL OR
routine_name IS NULL OR
routine_type IS NULL OR
routine_definition IS NULL OR
is_deterministic IS NULL OR
sql_data_access IS NULL OR
security_type IS NULL OR
sql_mode IS NULL OR
routine_comment IS NULL OR
definer IS NULL;
SELECT * FROM mysql.proc
WHERE specific_name IS NULL OR
db IS NULL OR
name IS NULL OR
type IS NULL OR
body IS NULL OR
is_deterministic IS NULL OR
sql_data_access IS NULL OR
security_type IS NULL OR
sql_mode IS NULL OR
comment IS NULL OR
definer IS NULL;
Qual servidor MySQL você está usando (MySQL, MariaDB, Amazon Aurora) e qual versão?