Dies sieht nach einem Fehler in MySQL Connector/NET von Oracle (alias MySql.Data
) aus ). Es sieht nicht nach einem Fehler aus, mit dem ich in dieser Fehlerdatenbank vertraut bin; es muss möglicherweise als neues Problem eingereicht werden. (Fehler 75301
sieht ähnlich aus, aber es ist nicht sofort ersichtlich, dass es sich um dasselbe Problem handelt.)
Ich würde empfehlen, zu MySqlConnector
zu wechseln; Es ist eine alternative ADO.NET-Bibliothek für MySQL, die hervorragend mit Dapper und behebt viele bekannte Fehler
im MySQL Connector/NET. MySqlConnector hat auch echte asynchrone E/A-Unterstützung, die nicht implementiert
ist in Konnektor/NET; Dies ist wichtig, wenn Sie QueryAsync
verwenden möchten in Ihrem Code.
Wenn Sie weiterhin MySQL Connector/NET von Oracle verwenden möchten, können Sie das Problem möglicherweise umgehen, indem Sie CheckParameters=false
hinzufügen zu Ihrer Verbindungszeichenfolge. Beachten Sie, dass dies eine bahnbrechende Änderung sein könnte zu Ihrem Code; Wenn Sie die Einstellung auf „false“ setzen, müssen Sie manuell sicherstellen, dass die Parameter zu jeder CommandType.StoredProcedure
hinzugefügt werden MySqlCommand
sind in genau der gleichen Reihenfolge wie die Datenbank (weil MySql.Data sie nicht mehr für Sie repariert).
Aktualisierung: Nachdem Sie sich den Connector/NET-Quellcode angesehen haben, scheint es, dass Ihre Datenbank einige Daten enthält, die sie nicht erwartet. Erzeugt eine der beiden folgenden Abfragen Zeilen? Wenn ja, welche Werte sind 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;
Welchen MySQL-Server verwenden Sie (MySQL, MariaDB, Amazon Aurora) und welche Version?