2017-09-11 10 views
0

データベースからデータを抽出するPowerShellスクリプトを実行しています。ただし、既定の%Appdata%Local/Temp/フォルダに十分な領域がありません。Powershellが既定の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"

私はこの問題を解決するために、PowerShellの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\' 

::私は私のスクリプトの開始時にこのコードを実行するほか

TMP D:\Temp 
Temp D:\Temp 

:私はにregeditをして、それを変更した

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% 'は通常" Roaming "フォルダを指しているからです。 –

答えて

0

解決策が見つかりました。それは環境変数と関係していました。 PowerShellのTEMP環境を正しく変更しましたが、DBと呼ばれるのは実際の計算を行い、PowerShellとは別の独自のTEMPフォルダを使用するDBでした。私がMySQLデータベースのTEMPファイルの場所を変更したとき、それは完全に機能しました。

関連する問題