ホームページ  >  に質問  >  本文

MYSQL secure-file-priv は空白に設定されていますが、DbDataReader ExecuteReader を実行すると、空白ではないかのように動作します。

<p>.ini ファイルに secure-file-priv="" を設定しました MySQL WorkBench で SQL ブロックを実行すると、完璧に実行されます。 </p> <p>しかし、C# が実際に DbDataReader ExecuteReader を実行すると、エラーが発生します。 <strong>このエラーはファイルが存在しないことを示していますが、これはデフォルトのパス (「'C:\ProgramData\MySQL\MySQL Server 8.0\Data」) がパスの先頭に追加されるためです< /strong> ; (コマンドテキストは以下の SQL とまったく同じです)</p> <p>有効な文字列の例</p> <pre class="brush:php;toolbar:false;">データ INFILE '_FILEPATH.txt_' をテーブル tablename にロードします フィールドは '\t' で終了します 行は '\n' で終了します 1 行を無視します (xxx, yyy, zzz)</pre> <p>Reader の実行後にエラーが返されました。セクションが追加されました</p> <ブロック引用> <p>MySqlException: ファイル 'C:\ProgramData\MySQL\MySQL Server 8.0\Data\DBNAME_FILEPATH.txt_' が見つかりません (OS エラー 2 - そのようなファイルまたはディレクトリはありません)</p> </blockquote> <p>「C:\ProgramData\MySQL\MySQL Server」を含めたくない<strong> 8.0\Data\DBNAME"</strong>、なぜこれが起こっているのかわかりません。助けていただければ幸いです。</p>
P粉794851975P粉794851975386日前482

全員に返信(1)返信します

  • P粉384244473

    P粉3842444732023-09-03 09:22:31

    これは、なぜ奇妙な動作をするのかという私の質問に対する答えではありません。 ただし、別のアプローチ (Load-Infile を実行すること) を使用して問題を解決しました。

    dbdatareader を使用する代わりに、MySQL クライアント - MySQL Bulk Loader を使用することにしました

    リーリー

    ということで、質問に対する答えをまだ知りたいのですが、これは私にとってはうまくいきました。

    返事
    0
  • キャンセル返事