这是上下文:我必须为一个允许用户将 csv 文件导入 MySQL 数据库的 Intranet 站点编写源代码。
这个导入非常庞大,这就是我编写 C# 程序的原因。
这个程序创建了一些线程来读取我的 csv 文件的一些行。
这些线程控制、更改类型并使用 SQL 将我的数据插入 MySQL 数据库,如下所示:
insert into table1 (fields) values (dataline 1 ), (data line 25),...,(data line n);
此请求存在 9 个表。
每个人都可以使用这个程序,因为源代码是动态的:插入数据的示例 我编写了一个字典,其中包含我的 9 个表,其中包含所有字段、类型和导入文件的 CSV 标题(其中包含一些重音和符号,我ve 更改它,因为我无法将它们放入数据库中的字段名中)。
只能使用名为 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# 程序运行良好
但是当我用带有exec("programpath.exe parameter1 parameter2",return,otherreturn)
函数的php调用它时,这个程序就不能工作了。
事实上,当我尝试使用我的 c# 程序访问 config.xml、MAP.csv、otherfile.txt/csv/.. 等 externfile 时。执行停止并出现一个 Windows 错误,显示“program.exe 停止其工作”(program.exe à cessé de fonctionner
法语)。
因此,我尝试简单地编写我的问题:当我尝试使用 php 调用的 c# 程序访问文件时,出现了一个窗口问题,该问题停止了特征。
编辑:我找到了解决方案,我只需要做一个 cd c:/path_program/ 事实上,当我启动我的网站时,当前文件夹不是 c:/ 而是 Symfony 启动的文件夹......只是一个初学者错误。