Sqlcmd:错误:在文件C上打开或操作时出错:\ ewApps \ Source \ MyIssueApp \ Scripts \ DBScripts \ issueUpdateSchemaVersion.sql(原因:系统找不到指定的路径)。
这是我的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) = 'sql1k9@abcd'
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 -d a -i" C:\ ewApps \ Source \ MyIssueApp \ Scripts \ DBScripts \ issueUpdateSchemaVersion.sql" -v SubScriptVersion =' 1.1'
以及
sqlcmd -S ewp-dev14 -U sa -P sql2k8 @ dev14 -da -i C:\ ewApps \ Source \ MyIssueApp \ Scripts \ DBScripts \ issueUpdateSchemaVersion.sql -v SubScriptVersion =' 1.1'
我认为这是一个长路径相关的问题,但是当我通过一个小路径时,它的工作方式类似于c:\ ewapps \ issueUpdateSchemaVersion.sql,但我不能使用小路径,上面提到的路径是强制性的。
我的路径中没有任何空间我仍然通过同时应用"" (双重代码)并且没有双重代码但它不起作用,并显示以下错误 -
Sqlcmd:错误:在文件C上打开或操作时出错:\ ewApps \ Source \ MyIssueApp \ Scripts \ DBScripts \ issueUpdateSchemaVersion.sql(原因:系统找不到指定的路径)。
以上所有参数均来自批处理文件。
注意 - 我的这台服务器在TFS,可能是个问题吗?请帮忙......
答案 0 :(得分:1)
您可以尝试使用网络路径:
\\\Server\yourfolder\yourfile.csv,
您必须共享文件夹yourfolder