我编写了一个简单的批处理脚本,它循环一个目录并回显有关每个文件的一些细节。当我在CMD终端中查看其结果或将其输出到某个文件时,我可以按预期查看结果。
问题来自PostgreSQL:当我尝试将其结果导入表中时,执行以下命令:
copy schema.table(field) from program 'C:\\...\\my_bat.bat' with CSV header delimiter E'\t';
它导入0个结果,而如果我运行指向另一个目录中的类似批处理文件的相同命令,它将按预期工作。
发生了什么?我正在使用Windows。
更新:我已经尝试在另一个批处理脚本上再次运行复制命令调用程序,这次,只导入了一部分字符串输出。
答案 0 :(得分:1)
服务用户postgres
需要足够的权限才能运行该程序。
我记得在Windows XP上很难更改该帐户的设置,我没有尝试过更新的窗口 - 大多数GUI工具都隐藏了服务用户。