2013-06-12 60 views
0

我不知道爲什麼,但它看起來像SQL服務器使用不同的路徑環境變量,然後我的系統的其餘部分。當我添加cmd作爲sql中的外部工具時,通過轉到 工具 - >外部工具並添加cmd.exe作爲命令,我得到不同的路徑。sql中的路徑變量變化

從SQL殼給我

echo %PATH% 
c:\Program Files (x86)\Microsoft SQL Server\100\Shared\;C:\Windows\system32\NV;.; 

這在所有

並不反映我的PATH變量,當我從一個普通的命令提示符我得到我的完整路徑回聲路徑。

當SQL啓動時,它看起來像使用自己的環境變量。有誰知道這些定義在哪裏,或者如果我可以將我的系統路徑附加到這個「特殊」SQL路徑?

+0

我不確定你想要做什麼,但有一個sql子系統來運行命令,通常被視爲安全風險。 http://msdn.microsoft.com/en-us/library/ms190264(v=sql.90).aspx – Sam

+0

我需要redgate來訪問我的源控制箱(即git,perforce,svn),這是在路徑上。但是,當redgate運行時,它說它的命令無法識別。在挖了一點之後,我發現sql看到的路徑與我在路徑環境變量中設置的路徑不同。但我找不到這條「特殊」路徑來自 –

+0

你有沒有試過REDgate的支持?如果你爲它付錢,你應該利用它。 – Sam

回答

0

我認爲您的SQL源代碼管理問題可能與其他問題有關。你可能想檢查你的路徑,並確保它沒有額外的反斜槓或雙引號--DOS很好,但在.NET中的ProcessStartInfo的dox表示這不會是一個公認的路徑。例如: c:\ windows; c:\ git;「c:\ program files \ git \ bin」

在後面兩個路徑組件中的任何一箇中都有Git.exe,您可以從命令中啓動Git.exe提示,但該命令在SQL源代碼管理中失敗。

+0

c:\ git有什麼問題?或者是在路徑中存在雙引號的事實 –

+0

我在GIT論壇上發現了一些其他錯誤,表示您不能使用雙引號。 – Wonko