MYSQL secure-file-priv est défini sur vide, mais lors de l'exécution de DbDataReader ExecuteReader, il se comporte comme s'il ne l'était pas.
P粉794851975
2023-09-02 09:46:46
<p>J'ai défini secure-file-priv="" dans mon fichier.ini
Si j'exécute le bloc SQL dans MySQL WorkBench, il fonctionne parfaitement. </p>
<p>Cependant, lorsque C# exécute réellement DbDataReader ExecuteReader, j'obtiens une erreur. <strong>L'erreur m'indique que le fichier n'existe pas, mais c'est parce qu'il ajoute le chemin par défaut ("'C:ProgramDataMySQLMySQL Server 8.0Data") au début du chemin<strong>
(Le texte de la commande est exactement le même que le SQL ci-dessous)</p>
<p>Exemples de chaînes valides</p>
<pre class="brush:php;toolbar:false;">CHARGER LE FICHIER DE DONNÉES '_FILEPATH.txt_' DANS LA TABLE tablename CHAMPS TERMINÉS PAR 't' LIGNES TERMINÉES PAR 'n' IGNORE 1 LIGNES (xxx, yyy, zzz) ≪/pré>
<p>Erreur renvoyée après l'exécution de Reader, maintenant avec une section ajoutée</p>
<blockquote>
<p>MySqlException : Fichier '<strong>C:ProgramDataMySQLMySQL Server
8.0DataDBNAME</strong>_FILEPATH.txt_' introuvable (erreur du système d'exploitation 2 - Aucun fichier ou répertoire de ce type)</p>
</blockquote>
<p>Je ne veux pas qu'il contienne<strong>"C:ProgramDataMySQLMySQL Server
8.0DataDBNAME"</strong>, je ne comprends pas pourquoi cela se produit. Toute aide serait grandement appréciée !</p>
Ce n'est pas la réponse à ma question de savoir pourquoi il fait des choses bizarres. Cependant, j'ai résolu mon problème en utilisant une approche différente (en exécutant un Load-Infile).
J'ai choisi d'utiliser le client MySQL - MySQL Bulk Loader au lieu d'utiliser dbdatareader
Donc, même si je veux toujours connaître la réponse à ma question, cela a fonctionné pour moi.