我的公司最近使用 tivoli 工作负载调度程序 (TWS) 将作业从 z/OS 远程触发到窗口服务器。我们测试了tivoli可以成功触发mssql服务。
现在的问题是我们有一个 .NET CL 程序,我们每天使用它来将 AS400 中的一些数据提取到 mssql 服务器,之前使用 windows 调度程序并在特定时间范围内每天触发时它可以完美运行。现在我们尝试集中调度程序,以便 TWS 远程触发准备好的批处理文件(它将触发 CL 程序)。
但 CL 程序的执行在尝试连接到 AS400 DB 时显示以下错误。
.Net Framework 数据提供程序需要 Microsoft 数据访问组件 (MDAC)。请安装 Microsoft 数据访问组件 (MDAC) 版本 2.6 或更高版本。
编辑:在正常情况下,我们假设程序可以成功触发,它应该就像使用 windows 调度程序一样,设置一个时间表并执行它。唯一的区别是调度器现在不是windows调度器,而是切换到TWS并远程触发CL程序。但是执行 CL 程序期间执行显示上述错误。我们不知道为什么会出现这个错误。我们尝试重新运行 CL 程序并在 Windows 调度程序中安排它,工作正常。但在 TWS 上远程安排,错误。
对于我们迄今为止所做的测试和观察:
我们的服务器是 Windows server 2008 SP2 x64,我对旧版本 windows 中使用的 MDAC 进行了一些研究,而 server 2008 应该提供更新版本的 MDAC (WDAC 6.0),它不能重新安装,所以我认为 MDAC/WDAC 必须是正确安装。
CL 程序是用 .NET 2.0/ 3.0 / 3.5 编译的,并测试它们都产生相同的错误。
他们的错误日志能够生成到 sql server DB,所以我假设在 CL 程序中使用的连接驱动程序没有问题。但它可能是由 IBMDA400 驱动程序引起的。
TWS 使用我们服务器中的管理员帐户来触发批处理文件,我们的服务器中安装了一个 TWS 客户端(侦听器)用于触发我们服务器中的程序,但我们不知道它们如何连接到我们的服务器(SSH?telnet?)并且他们似乎实际上并没有登录到我们的服务器进行远程触发(在静默模式下触发我们的工作)。
我们急于寻求任何解决方案,如果有人能提供任何线索或想法,那将是非常有帮助的,并为将来遇到同样问题的人提供了很大的帮助。
非常感谢!。