gpt4 book ai didi

不接受 SSIS DTEXEC 包可变空格字符

转载 作者:行者123 更新时间:2023-12-04 11:31:14 25 4
gpt4 key购买 nike

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

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

是什么赋予了?

最佳答案

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

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

最后的工作命令是:

dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\\"

最后加上双反斜杠。

关于不接受 SSIS DTEXEC 包可变空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com