我有一个SSIS包,它使用自定义查询读取数据并将其存储到目标excel源中。通过右键单击并选择Run Package选项,我可以在没有安装excel的服务器上成功运行SSIS包。当我将相同的SSIS包添加到Integration服务并运行包时,它仍然可以成功执行。但是,当我使用SQL Server代理程序作业调度程序包时,它会失败,并显示以下错误:
"以用户身份执行:用户名。 Microsoft(R)SQL Server执行包实用程序版本10.50.2500.0(适用于32位版权所有(C)Microsoft Corporation 2010.保留所有权利。论证" Excel"选项"连接"无效。命令行参数无效。步骤失败。"
SQL Server规范:SQL SERVER 2008 R2 执行为SQL Server代理作业。
尝试以下方法: 1)检查“使用32位'选中“步骤”菜单中“执行选项”选项卡下的复选框,并取消选中“数据源”选项卡中的所有复选框。得到以下错误:
" 以用户身份执行:用户名。 Microsoft(R)SQL Server执行包实用程序版本10.50.2500.0(适用于32位版权所有(C)Microsoft Corporation 2010.保留所有权利。开始时间:9:44:03 PM错误:2015-06-08 21:44:04.21代码:0xC002F304源:文件系统任务文件系统任务描述:出现以下错误消息时出错:"设备不是准备。 &#34 ;.结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始于:9:44:03 PM完成时间:下午9:44:04经过:1.219秒。包执行失败。步骤失败。"
2)创建了具有sysadmin,public,serveradmin角色的代理帐户。建模包作为代理帐户运行。得到以下错误:
"以用户身份执行:用户名。无法为作业的第1步创建该过程(原因:1314)。这一步失败了。" 命令行看起来几乎与下面的类似: / DTS" \ File System \ PackageName" / SERVER SERVERNAME / CONNECTION" InputFileConn.xlsx&#34 ;;" F:\ Folder \ InputFile.xlsx" / CONNECTION" OutputFileConn.xlsx 1&#34 ;;" F:\ Folder \ Output \ OutputFile.xlsx" / CONNECTION" Excel连接管理器1&#34 ;;" \"提供商= Microsoft.ACE.OLEDB.12.0;数据源= F:\ Folder \ Output \ OutputFile.xlsx;扩展属性= "" EXCEL 12.0; HDR = YES"&#34 ;; \"" / CONNECTION" SERVERINSTANCE.DBName";" \" Data Source = ServerInstance; Initial Catalog = DatabaseName; Provider = SQLNCLI10.1; Integrated Security = SSPI; Auto Translate = False; Application Name = SSIS-套餐的{D4E09BF5-DF25-3DE7-BCAE-B667C38F85B7} SERVERNAME \ SQLSERVER.DatabaseName; \"" / X86 /检查点关闭/报告E
是否有必要在服务器中安装excel以使SQL Server代理作业有效?
答案 0 :(得分:0)
根据上面的讨论,作业是指F驱动器,但F是在服务器上运行时预期的不同驱动器。