MYSQL secure-file-priv ist auf leer gesetzt, verhält sich jedoch beim Ausführen von DbDataReader ExecuteReader so, als ob dies nicht der Fall wäre
P粉794851975
2023-09-02 09:46:46
<p>Ich habe secure-file-priv="" in meiner.ini-Datei festgelegt
Wenn ich den SQL-Block in MySQL WorkBench ausführe, läuft er perfekt. </p>
<p>Wenn C# jedoch tatsächlich den DbDataReader ExecuteReader ausführt, erhalte ich eine Fehlermeldung. <strong>Der Fehler sagt mir, dass die Datei nicht existiert, aber das liegt daran, dass der Standardpfad („'C:ProgramDataMySQLMySQL Server 8.0Data“) an den Anfang des Pfads angehängt wird.< /strong>
(Der Befehlstext ist genau derselbe wie das untenstehende SQL)</p>
<p>Gültige String-Beispiele</p>
<pre class="brush:php;toolbar:false;">DATEN-INFILE '_FILEPATH.txt_' IN TABELLE LADEN Tabellenname FELDER, DIE MIT 't' BEENDET SIND, ZEILEN, DIE MIT 'n' BEENDET SIND, IGNORE 1 LINES (xxx, yyy, zzz) </pre>
<p>Nach der Ausführung des Readers wurde ein Fehler zurückgegeben, jetzt mit hinzugefügtem Abschnitt</p>
<blockquote>
<p>MySqlException: Datei '<strong>C:ProgramDataMySQLMySQL Server
8.0DataDBNAME</strong>_FILEPATH.txt_' nicht gefunden (OS-Fehler 2 – Keine solche Datei oder kein solches Verzeichnis)</p>
</blockquote>
<p>Ich möchte nicht, dass es<strong>"C:ProgramDataMySQLMySQL Server" enthält
8.0DataDBNAME"</strong>, ich verstehe nicht, warum das passiert. Jede Hilfe wäre sehr dankbar!</p>
这不是我的问题的答案,为什么它会做一些奇怪的事情。 不过,我使用不同的方法解决了我的问题(通过执行 Load-Infile)。
我选择使用 MySQL 客户端 - MySQL Bulk Loader,而不是使用 dbdatareader
所以,虽然我仍然想知道我的问题的答案,但这对我有用。