从SQL代理执行SSIS 2014程序包

问题描述:

我们正在Windows Server 2012 R2 Standard上运行SQL Server 2014 Standard(12.0.4100.1)。当我们安排一个SSIS包运行时,它似乎无法将参数值解析到实际运行的命令行中。从SQL代理执行SSIS 2014程序包

有一个项目级连接管理器,其连接字符串设置为使用项目级别参数DB_ConnectionString。有多个软件包存在这个问题,但它们都是以同样的方式构建的。特定的错误是:

参数 “” $项目:: DB_ConnectionString “” 数据 “源=服务器;初始” “目录= dbname;开发提供商= SQLNCLI11.1;集成”, “安全性= SSPI;自动” Translate = False;“”选项“参数”无效。命令行参数无效。该步骤失败。

当我更改步骤类型为“操作系统(CmdExec)”,这是它正在运行的代码:

/ISSERVER "\"\SSISDB\folderPath\folderPath\packageName.dtsx\"" /SERVER serverName /Par "\"$Project::BaseDirectory\"";"\"\\srvName\share\\"" /Par "\"$Project::DB_ConnectionString\"";"\"Data Source=serverName;Initial Catalog=dbNAme;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;\"" /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E 

这似乎是具有“数据源”的问题,“综合安全“等含有空间。我删除了空格,这给了我一个不同的消息,表明它正确解析了命令,但无法解析连接字符串。

这是一个简单的错误?我们能做些什么来解决这个问题?

项目参数是否正确映射到部署项目中的环境?没有看到输出的/ Envreference选项。 看 Using DTEXEC with Packages on the IS Server

+0

我们现在不使用环境,我们只是指定每个参数的值。我会尝试使用环境来运行它,并看看它是如何发生的。 – cgoll

+0

我把参数放到一个环境中,并以这种方式执行它,它工作!谢谢你的帮助! – cgoll