计划任务失败 - 未指定的错误
Scheduled task fails - Unspecified Error
我有一个 c# 控制台应用程序,可以将数据上传到 Sitecore/UCommerce 实现。它基于 UCommerce UConnector。当我从命令行 运行 它执行时没有问题,所有数据都正确上传和下载,没有错误。当我尝试安排此任务时,它退出并出现 0xffffff
错误。该任务指定一个命令行参数,该参数将应用程序设置为从 App.Config
中读取所有可配置选项
我搜索了这个错误,发现了很多我试过的建议,但 none 正在解决这个问题。我尝试过的事情包括:
- 正在输入开始参数
- 使用最高权限
检查 运行
- 将控制台应用程序转换为 Windows 没有表单的表单应用程序
- 使用管理员帐户 运行 任务
- 设置应用程序所在文件夹的安全权限以完全控制
- 运行ning在系统帐号下
- 尝试在服务器 (Windows Server 2012) 和工作站 (Windows 7) 上执行相同的任务运行
其中 None 产生了任何影响。事件查看器中没有任何记录。应用程序中的错误记录 (SQL) 不记录任何内容。
我不知道这是否有任何相关性,但该应用程序正在使用 NHibernate、Castle Windsor,当然还有 UCommerce。
任何人都可以建议我还没有尝试过的东西吗?或者建议我如何找出可能的错误。
编辑
这里是要求的命令行命令
更新
(我删除了路径中的所有空格以防万一导致问题所以下面的命令与上图的路径不同)
我已经设法更改了服务器上的配置并创建了一个批处理文件。我还更改了应用程序所在的文件夹,因此路径中没有空格。在我的批处理文件中
cmd /c F:\SCProcessor\Orders\SiteConnector.exe /cfg
我在任务计划程序中报告了同样的错误
如果我双击批处理文件,它 运行 就完美了。如果我将 /c
更改为 /k
(希望看到命令 window 中报告的错误),则不会显示 window 并且任务不会停止 运行ning直到我结束它。
好的,我已经解决了我自己的问题。花了一段时间才找出真正的问题所在,但最终我通过 运行 在 SSMS 和 xp_cmdshell
中找到它。这报告说找不到配置文件
C:\windows\system32\app_config\prefetch\Common.config
app_config 是控制台应用程序文件夹中的一个文件夹。在 SiteConnector.exe.config 中有许多包含各种配置的包含:
<sc.include file="App_Config/Prefetch/Common.config"/>
无论出于何种原因(我仍然需要弄清楚原因),这将解析为:
C:\windows\system32\app_config\prefetch\Common.config
从任务调度程序或 SQL 作业调用它时,但是:
F:\SCProcessor\Orders\app_config\prefetch\Common.config
当从命令提示符 运行 时。
我将包含的路径更改为绝对路径,问题已解决。只需要将 SiteConnector.exe.config
更新为
<sc.include file="{$CurrentFolder}/App_Config/Prefetch/Common.config"/>
如果可以的话。
我有一个 c# 控制台应用程序,可以将数据上传到 Sitecore/UCommerce 实现。它基于 UCommerce UConnector。当我从命令行 运行 它执行时没有问题,所有数据都正确上传和下载,没有错误。当我尝试安排此任务时,它退出并出现 0xffffff
错误。该任务指定一个命令行参数,该参数将应用程序设置为从 App.Config
我搜索了这个错误,发现了很多我试过的建议,但 none 正在解决这个问题。我尝试过的事情包括:
- 正在输入开始参数
- 使用最高权限 检查 运行
- 将控制台应用程序转换为 Windows 没有表单的表单应用程序
- 使用管理员帐户 运行 任务
- 设置应用程序所在文件夹的安全权限以完全控制
- 运行ning在系统帐号下
- 尝试在服务器 (Windows Server 2012) 和工作站 (Windows 7) 上执行相同的任务运行
None 产生了任何影响。事件查看器中没有任何记录。应用程序中的错误记录 (SQL) 不记录任何内容。
我不知道这是否有任何相关性,但该应用程序正在使用 NHibernate、Castle Windsor,当然还有 UCommerce。
任何人都可以建议我还没有尝试过的东西吗?或者建议我如何找出可能的错误。
编辑
这里是要求的命令行命令
更新
(我删除了路径中的所有空格以防万一导致问题所以下面的命令与上图的路径不同)
我已经设法更改了服务器上的配置并创建了一个批处理文件。我还更改了应用程序所在的文件夹,因此路径中没有空格。在我的批处理文件中
cmd /c F:\SCProcessor\Orders\SiteConnector.exe /cfg
我在任务计划程序中报告了同样的错误
如果我双击批处理文件,它 运行 就完美了。如果我将 /c
更改为 /k
(希望看到命令 window 中报告的错误),则不会显示 window 并且任务不会停止 运行ning直到我结束它。
好的,我已经解决了我自己的问题。花了一段时间才找出真正的问题所在,但最终我通过 运行 在 SSMS 和 xp_cmdshell
中找到它。这报告说找不到配置文件
C:\windows\system32\app_config\prefetch\Common.config
app_config 是控制台应用程序文件夹中的一个文件夹。在 SiteConnector.exe.config 中有许多包含各种配置的包含:
<sc.include file="App_Config/Prefetch/Common.config"/>
无论出于何种原因(我仍然需要弄清楚原因),这将解析为:
C:\windows\system32\app_config\prefetch\Common.config
从任务调度程序或 SQL 作业调用它时,但是:
F:\SCProcessor\Orders\app_config\prefetch\Common.config
当从命令提示符 运行 时。
我将包含的路径更改为绝对路径,问题已解决。只需要将 SiteConnector.exe.config
更新为
<sc.include file="{$CurrentFolder}/App_Config/Prefetch/Common.config"/>
如果可以的话。