Sql server 像“User::filePath”这样的变量是如何传递给SSIS包中的脚本的,该包是';是由SQL代理作业运行的吗?

Sql server 像“User::filePath”这样的变量是如何传递给SSIS包中的脚本的,该包是';是由SQL代理作业运行的吗?,sql-server,ssis,sql-server-2008-r2,sql-agent-job,Sql Server,Ssis,Sql Server 2008 R2,Sql Agent Job,如果我直接查看脚本,使用CREATE script执行此操作时,对sp_add_jobstep的调用是: @command=N'/FILE "<local-server-path-to.dtsx-file>" /CONNECTION "FlatFileConnection;"<unc-path-to.csv-file>" /CHECKPOINTING OFF /REPORTING E' @command=N'/FILE”“/CONNECTION”FlatFileConn

如果我直接查看脚本,使用
CREATE script
执行此操作时,对sp_add_jobstep的调用是:

@command=N'/FILE "<local-server-path-to.dtsx-file>" /CONNECTION "FlatFileConnection;"<unc-path-to.csv-file>" /CHECKPOINTING OFF /REPORTING E'
@command=N'/FILE”“/CONNECTION”FlatFileConnection;“”/CHECKPOINTING OFF/REPORTING E'

因此,在我看来,
以某种方式指定了SSIS包中
User::filePath
的值,或者可能指定了
FlatFileConnection


SQL代理作业(在UI中)的作业步骤属性(在
常规
下)和
命令行
选项卡中,选择了
还原原始选项
,那么
用户::文件路径
在哪里指定?

以下代码行:

@command=N'/FILE "<local-server-path-to.dtsx-file>" /CONNECTION "FlatFileConnection;"<unc-path-to.csv-file>" /CHECKPOINTING OFF /REPORTING E'
/SET \Package.Variables[User::FilePath].Properties[Value];"C:\File.dtsx"
整个命令将是:

@command=N'/FILE "<local-server-path-to.dtsx-file>" /CONNECTION "FlatFileConnection;"<unc-path-to.csv-file>" /CHECKPOINTING OFF /REPORTING E /SET \Package.Variables[User::FilePath].Properties[Value];"C:\File.dtsx"'
@command=N'/FILE”“/CONNECTION”FlatFileConnection;“”/CHECKPOINTING OFF/REPORTING E/SET\Package.Variables[User::FilePath].Properties[Value];“C:\File.dtsx”
关于:

/Set重写包内变量、属性、容器、日志提供程序、Foreach枚举器或连接的配置。使用此选项时,/Set将propertyPath参数更改为指定的值。可以指定多个/设置选项

以下是执行包并为变量提供新值的示例:

dtexec/f mypackage.dtsx/set\package.variables[myvariable].Value;myvalue


检查下面的链接1-2-“以某种方式指定了User::filePath的值”不,不是,它只是在连接管理器上设置一些属性。您的包中可能有一些逻辑,这些逻辑反过来设置
User::filePath
的值,但我们不知道。