我正在运行从数据库中提取数据的PowerShell脚本。但是,我在默认的%Appdata%Local/Temp/
文件夹上没有足够的空间。我知道这是因为我收到错误:
使用“0”参数调用“ExecuteNonQuery”的异常:“不正确 表的密钥文件 'C:\的Windows \ SERVIC〜2 \ NETWOR〜1 \应用程序数据\本地\温度#sql7ec_3_3.MYI';尝试 修复它“
要解决此问题,我正在尝试更改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\'
但是,当脚本运行时,我仍然会收到错误消息:
使用“0”参数调用“ExecuteNonQuery”的异常:“不正确 表的密钥文件 'C:\的Windows \ SERVIC〜2 \ NETWOR〜1 \应用程序数据\本地\温度#sql7ec_3_3.MYI';尝试 修复它“
有关为什么默认为%Appdata%文件夹以及如何更改它的任何建议?
答案 0 :(得分:0)
我找到了解决方案,它与环境变量有关。我正确地更改了PowerShell的TEMP环境,但是,因为我调用了数据库,所以DB正在进行实际计算并使用与PowerShell分开的自己的TEMP文件夹。当我更改MySQL数据库的TEMP文件位置时,它工作得很好。