5
我试图用下面的SQL执行SSIS包2005:SSIS DTEXEC包变量空格字符不接受
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\"
这产生了:
Option "Batch " is not valid.
在末尾的空间引号内的Batch这个词给了我一个暗示,也许它将最后一个反斜杠当作一个转义字符。所以,我想这样说:
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\\\SomeServer\\Someshare\\Output Batch\\"
这使包运行,但是当这个变量作为平面文件输出数据的名称,它现在提供了以下错误:
Warning: 2010-07-27 14:36:38.23
Code: 0x8007007B
Source: Data Flow Task Flat File Destination [72]
Description: The filename, directory name, or volume label syntax is incorrect.
End Warning
Error: 2010-07-27 14:36:38.23
Code: 0xC020200E
Source: Data Flow Task Flat File Destination [72]
Description: Cannot open the datafile "\\\\SomeServer\\Someshare\\Output Batch\FlatFile.txt".
End Error
什么给?
这会被视为Microsoft错误? – 2013-08-18 23:57:50
我认为用反斜杠来引用引号是有点标准的。奇怪的部分是,只有在双引号字符之前才允许转义反斜杠 - 本质上,反斜杠转义为“”或“\”''而没有别的。这可能是正常的DOS批处理命令行为 - 但我不确定。 – ErikE 2013-08-19 07:06:05
我真的很感激你的上述问题和答案。当我有像\\我的服务器\我的路径\这样的网络路径时,它会将其分割为\\我的“”服务器\我的“\ \路径\直到找到您的解决方案。我几个月前开始研究,直到找到你的帖子。 – 2013-08-19 12:26:43