2017-09-11 66 views
0

我正在运行从数据库中提取数据的PowerShell脚本。但是,我在缺省%Appdata%Local/Temp/文件夹上没有足够的空间。我知道这是因为我得到的错误:Powershell保持重置为默认临时文件夹

Exception calling "ExecuteNonQuery" with "0" argument(s): "Incorrect key file for table 'C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp#sql7ec_3_3.MYI'; try to repair it"

要解决此问题,我正在尝试更改PowerShell的Temp文件夹。我在注册表编辑器将其改为:

TMP D:\Temp 
Temp D:\Temp 

此外,我在我的脚本开始运行这段代码:

# Set Environmental Variables 
[Environment]::SetEnvironmentVariable("TEMP", "D:\Temp\") 
[Environment]::SetEnvironmentVariable("Temp", "D:\Temp\") 
[Environment]::SetEnvironmentVariable("TMP", "D:\Temp\") 

# Navigate to these temp folders 
$TempDir = [System.IO.Path]::GetTempPath() 
cd $TempDir # This actually returns 'D:\Temp\' 

然而,当脚本运行时我仍然得到错误信息:

Exception calling "ExecuteNonQuery" with "0" argument(s): "Incorrect key file for table 'C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp#sql7ec_3_3.MYI'; try to repair it"

有关为什么默认为%Appdata%文件夹以及如何更改它的任何建议?

+0

你能否包含你的结论的理由:缺少磁盘空间是问题所在? –

+0

您能澄清您是在数据库所在的机器上运行脚本还是远程运行脚本?错误消息是否与远程机器的状态有关? –

+0

您可以检查第一段中的路径吗?不确定你的意思是在“AppData”周围有百分号,因为这不是错误消息,“%AppData%”通常指向“漫游”文件夹。 –

回答

0

我找到了解决方案,它与环境变量有关。然而,我正确地更改了PowerShell的TEMP环境,因为我调用了一个数据库,它是DB在进行实际计算并使用与PowerShell分开的自己的TEMP文件夹。当我更改MySQL数据库的TEMP文件位置时,它完美运行。

相关问题