首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SSIS DTEXEC包不接受变量空格字符

SSIS DTEXEC包不接受变量空格字符
EN

Stack Overflow用户
提问于 2010-07-28 06:32:36
回答 1查看 6.1K关注 0票数 8

我正在尝试使用以下内容在SQL 2005上执行SSIS包:

代码语言:javascript
代码运行次数:0
运行
复制
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
 /SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\"

这会产生以下结果:

代码语言:javascript
代码运行次数:0
运行
复制
Option "Batch " is not valid.

引号内单词Batch末尾的空格提示我,它可能将最后一个反斜杠视为转义字符。所以我试着这样做:

代码语言:javascript
代码运行次数:0
运行
复制
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
 /SET "\Package.Variables[FileFolder].Value";"\\\\SomeServer\\Someshare\\Output Batch\\"

这允许包运行,但当此变量用作要将数据输出到的平面文件的名称时,它现在会显示以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
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

怎么回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-28 06:34:26

在列出出错数据文件的错误消息中,单词Batch后面的单个反斜杠提示可能只有该反斜杠受到影响。

一些测试证明,由于某种奇怪的原因,当包变量的最后一个字符需要是反斜杠时,SSIS要求将其加倍。即使在使用GUI并选择"SQL Server Integration Services Package“类型的作业并单击"Set values”选项卡时,这一点也适用:尾随反斜杠必须加倍。

最后的工作命令是:

代码语言:javascript
代码运行次数:0
运行
复制
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
 /SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\\"

最后一个双反斜杠。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3348545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档