これはコンテキストです。ユーザーがcsvファイルをMySQLデータベースにインポートできるようにするイントラネットサイトのソースを作成する必要があります。
このインポートは非常に大規模であるため、C# プログラムを作成しました。
このプログラムは、csv ファイルのいくつかの行を読み取るスレッドを作成します。
これらのスレッド制御、タイプの変更、および次のような SQL を使用してデータを MySQL データベースに挿入します。
insert into table1 (fields) values (dataline 1 ), (data line 25),...,(data line n);
このリクエストは 9 つのテーブルに対して存在します。
ソースコードが動的であるため、このプログラムは誰でも使用できます: データを挿入する例 すべてのフィールド、タイプ、およびインポートファイルの CSV ヘッダーを含む 9 つのテーブルを含む辞書を作成します (アクセントと記号が含まれています。データベースのフィールド名に入れることができないため、変更する必要があります)。
この辞書は、MAP.csv というファイルでのみ作成できます。
例:
table / field / type / header
table 1 / field1_table1 /string / hêàder
table 1 / field2_table1/ int / header1
table 2 / field1_table2/ date / hêàder2
table 1 / field3_table1/ string / hêàder3
program.exe を実行すると、私の C# プログラムは非常にうまく機能します。
しかし、関数を使用してphpで呼び出すと、exec("programpath.exe parameter1 parameter2",return,otherreturn)
このプログラムは機能しません。
実際、私の c# プログラムで config.xml 、 MAP.csv、otherfile.txt/csv/.. のような externfile にアクセスしようとすると。実行が停止し、"program.exe stop its work" (program.exe à cessé de fonctionner
フランス語) という Windows エラーが表示されます。
だから私は自分の問題を簡単に書こうとします.phpによって呼び出されたc#プログラムでファイルにアクセスしようとすると、特性を停止するウィンドウの問題があります.
編集:解決策が見つかりました。cd c:/path_program/ を実行するだけです。実際、Web サイトを起動すると、現在のフォルダーは c:/ ではなく、Symfony が起動するフォルダーです...初心者のエラーでした。