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
的值,但我们不知道。