MYSQL secure-file-priv ditetapkan kepada kosong, tetapi apabila menjalankan DbDataReader ExecuteReader ia berkelakuan seolah-olah ia tidak
P粉794851975
2023-09-02 09:46:46
<p>Saya telah menetapkan secure-file-priv="" dalam fail my.ini
Jika saya menjalankan blok SQL dalam MySQL WorkBench, ia berfungsi dengan sempurna. </p>
<p>Walau bagaimanapun, apabila C# benar-benar menjalankan DbDataReader ExecuteReader, saya mendapat ralat. <strong>Ralat memberitahu saya bahawa fail itu tidak wujud, tetapi itu kerana ia menambahkan laluan lalai ("'C:ProgramDataMySQLMySQL Server 8.0Data") pada permulaan laluan<
(Teks arahan betul-betul sama dengan SQL di bawah)</p>
<p>Contoh rentetan yang sah</p>
<pre class="brush:php;toolbar:false;">MUATKAN DATA INFILE '_FILEPATH.txt_' KE DALAM JADUAL nama jadual MEDAN DITAMATKAN OLEH BARIS 't' DITAMATKAN OLEH 'n' ABAIKAN 1 BARIS (xxx, yyy, zzz) </pra>
<p>Ralat dikembalikan selepas melaksanakan Pembaca, kini dengan bahagian tambahan</p>
<blockquote>
<p>MySqlException: Fail '<strong>C:ProgramDataMySQLMySQL Server
8.0DataDBNAME</strong>_FILEPATH.txt_' tidak ditemui (Ralat OS 2 - Tiada fail atau direktori sedemikian)</p>
</blockquote>
<p>Saya tidak mahu ia mengandungi<strong>"C:ProgramDataMySQLMySQL Server
8.0DataDBNAME"</strong>, saya tidak faham mengapa ini berlaku. Sebarang bantuan amat dihargai!</p>
Ini bukan jawapan kepada soalan saya mengapa ia melakukan perkara pelik. Walau bagaimanapun, saya menyelesaikan masalah saya menggunakan pendekatan yang berbeza (dengan melaksanakan Load-Infile).
Saya memilih untuk menggunakan klien MySQL - MySQL Bulk Loader daripada menggunakan dbdatareader
Jadi, sementara saya masih ingin tahu jawapan kepada soalan saya, ini berkesan untuk saya.