我有一个2005 SSIS包,我在VS 2005中创建的服务中调用。该包不会运行。该程序包的目的是解析文件并将数据放入“加载表”。
程序包完全独立运行,但在以编程方式执行时根本不会运行 - 当我逐步执行代码时。事件查看器指示程序包已启动,但随后表明程序已失败。我没有得到任何更多的信息。
它没有抛出异常。它只是返回“失败”。我试过针对不同的数据库执行 - 结果相同。它解析的文件是有效的,因为它在运行时运行正常。
我能想到的唯一另一件事就是我在使用用户权限方面遇到了一些问题,但我不知道该怎么去研究这个问题。有没有人有任何想法?
答案 0 :(得分:5)
听起来像权限问题。确保它运行的进程具有与用于以交互方式运行它的帐户相同的权限。
答案 1 :(得分:3)
如果没有更多信息,很难说,但这听起来像是权限问题。
当它从代码运行时,运行代码的人或用户帐户是否具有相应的权限?
例如,如果您手动运行它,则最有可能使用自己的凭据。作为开发人员,我假设您拥有管理员权限,因此您可以执行任务。
但是,从程序运行时,您需要知道程序运行的用户帐户。是Asp.Net吗?默认用户是网络服务。它是在默认本地系统帐户下运行的计划任务吗?您需要更改其运行的帐户或适当地授予DB权限。
答案 2 :(得分:2)
当您从Studio加载到Integration Services时,您使用了什么包保护级别?我对列表中的最后一个运气最好:依靠服务器存储和访问控制角色。
答案 3 :(得分:1)
您的软件包是否设置了错误日志记录?它可以帮助您了解问题所在。
此外,运行程序包的服务帐户是否具有对存储文件的目录的正确权限,而不仅仅是SQL Server中的正确权限?我们以前遇到过这个问题。
答案 4 :(得分:0)
您是否已将事件附加到程序包的执行中?你是通过代码调用包吗?你使用哪种方法?
请检查Loading and Running a Remote Package...
然后在调试时,在Console.Write Line添加一个断点,获取错误信息。
希望它有所帮助,
的Arturo