我有一个基于这个问题的存储过程:How to store output of a stored procedure on to disk。出于某种原因,我无法使用Windows路径。总是得到文件写入错误。
关于如何传递参数的任何想法?
答案 0 :(得分:2)
试过这个并且也有点挣扎。以下是我如何运作:
在MySQL将写入文件的文件夹中,确保为写访问权限指定了相应的权限。 如果安全性不是问题,那么执行此操作的一种强制方法是右键单击根文件夹,单击属性 - >安全选项卡,添加“所有人”并授予“完全控制”。但是,根据您执行此操作的位置和原因,您可能需要更加谨慎/有选择性......
使用以下内容运行存储过程:
CALL export_dynamic('C:/dump/test1.txt');
...或...
CALL export_dynamic('C:\\\\dump\\\\test2.txt');
(假设C:\dump
是使用上述权限设置文件的文件夹。)
注意:磁盘空间,防病毒等还有其他可能的问题,但我个人没有看到类似的东西(运行Microsoft Security Essentials)。
答案 1 :(得分:1)
文件名必须以文字字符串形式给出。在Windows上,将路径名中的反斜杠指定为正斜杠或双反斜杠。
从MySQL 5.1.6开始,character_set_filesystem系统变量控制文件名的解释。
答案 2 :(得分:0)
应该是权限问题...检查您尝试编写的文件夹的文件夹权限。授予所有人访问权限。右键单击文件夹 - >属性 - >权限 - >每个人 - >给予完全权利......现在运行脚本。