2014-04-02 42 views
1

Sqlcmd:錯誤:在打開或操作文件C:\ ewApps \ Source \ MyIssueApp \ Scripts \ DBScripts \ issueUpdateSchemaVersion.sql時發生錯誤(原因:系統無法找到指定的路徑)。通過服務器身份驗證在遠程服務器上運行腳本時,xp_cmdshell引發錯誤

這裏是我的SQL腳本 -

Declare @ScriptVersion ='1.1' 
Declare @TargetScriptVersionNo = '1.1' 
Declare @DBServerName VARCHAR(50)= 'remote-a' 
Declare @DBName VARCHAR(50)='mydb' 
Declare @FilePath NVARCHAR(MAX)= 'C:\ewApps\Source\MyIssueApp\Scripts\DBScripts\issueUpdateSchemaVersion.sql' 
DECLARE @UserName VARCHAR(10) = 'sa' 
DECLARE @Password VARCHAR(20) = '[email protected]' 
DECLARE @Command ='' 

set @Command = ' sqlcmd -S ' + @DBServerName + ' -U ' + @UserName + ' -P '+ @Password + ' -d ' + @DBName + ' -i "'+ @FilePathForAllScript + '" -v SubScriptVersion=''' + @VersionNumber + '''' 

EXEC xp_cmdshell @Command 

生成的字符串@command是 -

的sqlcmd -S EWP-dev14 -U SA -P sql2k8 @ dev14 - 天-i「C:\ ewApps \源\ MyIssueApp \腳本\ DBScripts \ issueUpdateSchemaVersion.sql」 -v SubScriptVersion = '1.1'

並且還

SQLCMD -S EWP-dev14 -U SA -P sql2k8 @ dev14 -da -iç :\ ewApps \來源\ MyIssueApp \腳本\ DBScripts \ issueUpdateSchemaVersion.sql -v SubScriptVersion = '1.1'

我認爲這是相關的問題很長的路,但是當我通過一個小通道,它的工作原理是C:\ ewapps \ issueUpdateSchemaVersion.sql,但我不能使用小路徑,上面提到的路徑是強制性的..

我沒有在我的路徑中有任何空間仍然我已經通過應用「」(雙代碼)和沒有雙代碼,但它不工作,嘗試它和顯示以下錯誤 -

Sqlcmd:錯誤:打開或操作文件C:\ ewApps \ Source \ MyIssueApp \ Scripts \ DBScripts \ issueUpdateSchemaVersion.sql時出錯(原因:系統找不到指定的路徑)。

以上所有參數都來自批處理文件。

注 - 我的這臺服務器在TFS上,可以是一個問題嗎?請幫助...

+0

請在張貼之前移除SA密碼... – dean

+0

位於該文件與SQL Server一樣的服務器? – dean

+0

thanx dean for ur reply ... yes文件位於同一臺服務器上。在我的本地機器意味着我有所有的SQL文件,並在該遠程服務器只有SQL服務器。 – Rajesh

回答

1

您可以嘗試使用網絡路徑:

\\\Server\yourfolder\yourfile.csv, 

你要共享您的文件夾yourfolder

相關問題