我有一個基於此問題的存儲過程:How to store output of a stored procedure on to disk。出於某種原因,我無法使其與Windows路徑一起工作。總是得到文件寫入錯誤。將Windows路徑傳遞給MySQL存儲過程
關於如何傳遞參數的任何想法?
我有一個基於此問題的存儲過程:How to store output of a stored procedure on to disk。出於某種原因,我無法使其與Windows路徑一起工作。總是得到文件寫入錯誤。將Windows路徑傳遞給MySQL存儲過程
關於如何傳遞參數的任何想法?
文件名必須以文字字符串形式給出。在Windows上,在路徑名稱中將反斜槓指定爲正斜槓或反斜槓。
從MySQL 5.1.6開始,character_set_filesystem系統變量控制文件名的解釋。
剛剛嘗試過這一點,並掙扎了一下。以下是我如何得到它的工作:
在MySQL將寫入文件的文件夾上,確保爲寫入權限給予相應的權限。 如果安全性不是問題,這樣做的一種蠻力方法是右鍵單擊根文件夾,單擊屬性 - >安全性選項卡,添加「Everyone」並授予「完全控制」。但是,這取決於你正在做的這個地方,爲什麼,你可能需要很多更加小心/選擇性...
使用類似的運行存儲過程:
CALL export_dynamic('C:/dump/test1.txt');
.. 。或者...
CALL export_dynamic('C:\\\\dump\\\\test2.txt');
(假設C:\dump
是在哪裏的文件將具有如上設置的權限被寫入的文件夾)。
注意:磁盤空間,防病毒等還有其他可能的問題,但是我個人並沒有看到類似的東西(讓Microsoft Security Essentials運行)。
它應該是一個權限問題...檢查您嘗試寫入的文件夾的文件夾權限。授予對每個人的訪問權限。右鍵單擊文件夾 - >屬性 - >權限 - >每個人 - >授予完全權限...現在運行該腳本。
這可能與許可有關。你可以授予dest文件夾的權限777,並嘗試一次(只是爲了確保它的許可的事情) – avisheks