ODI11G配置:使用YAJSW发布Agent为Windows服务

需积分: 13 2 下载量 29 浏览量 更新于2024-09-08 收藏 646KB DOC 举报
"使用YAJSW将Oracle Data Integrator (ODI) 11G的Agent发布为Windows系统服务的详细步骤" Oracle Data Integrator (ODI) 是一个全面的数据集成平台,用于管理企业的数据迁移、转换和加载过程。在ODI 11G版本中,Oracle不再提供内置的Tanuki Service Wrapper来将Agent作为Windows服务,因此需要借助第三方工具,如YAJSW (Yet Another Java Service Wrapper),来实现类似的功能。 YAJSW 是一个免费的Java服务包装器,允许你在Windows系统上将Java应用程序注册为系统服务,以便于管理和自动化启动。在ODI 11G环境中,这个工具特别有用,因为它使得Agent能够在系统启动后自动运行,并且可以通过服务控制台进行启停操作。 以下是使用YAJSW配置ODI 11G Agent的详细步骤: 1. **环境准备**: 在配置YAJSW之前,确保ODI的`/bin/odiparams.bat`文件已经正确配置。这个文件定义了Agent启动所需的各种环境变量,包括JDBC驱动类型、数据库连接信息、用户凭据等。你需要确认这些参数正确无误,如果在安装后未配置或需要修改,参照《ODI11G安装、配置手册》进行设置。 2. **下载与安装YAJSW**: 获取YAJSW的最新版本并安装到你的机器上。通常,它会包含一个`uninstallService.bat`脚本,用于卸载已注册的服务。 3. **配置YAJSW**: - 将ODI Agent的可执行文件(例如 `odi_agent.jar`)添加到YAJSW的配置中。 - 配置服务名称、启动参数以及ODI Agent的环境变量,这些变量可以从`odiparams.bat`中获取。 - 设置服务启动脚本,通常是`startService.bat`和`stopService.bat`,它们会调用ODI Agent的启动和停止命令。 4. **注册服务**: 使用YAJSW提供的工具(如`wrapper.exe`)将配置好的ODI Agent注册为Windows服务。这通常涉及到运行一个命令行指令,指定服务名称和服务的执行路径。 5. **测试与管理**: 注册服务后,可以在Windows的服务管理器中查看和管理新创建的ODI Agent服务。可以启动、停止服务,并检查其状态。服务会在系统启动时自动启动,无需手动干预。 6. **卸载服务**: 当不再需要该服务时,通过运行`uninstallService.bat`脚本来卸载ODI Agent服务。 请注意,上述步骤可能因具体的YAJSW版本和ODI 11G安装配置略有不同,因此在实际操作时应参考相关文档和工具的说明文件。 总结,配置ODI 11G Agent为Windows服务的关键在于利用YAJSW来替代Oracle不再提供的服务包装功能,通过这种方式,你可以继续享受类似ODI 10G中的便利,即使在ODI 11G环境中。这不仅简化了Agent的管理和维护,还确保了服务的稳定性和自动化。
2019-03-08 上传
在ODI11.1.1.5.0中创建了Microsoft Sql Server的服务器, JDBC驱动程序名称选择了Microsoft SQL Server 2005 Driver for JDBC (com.microsoft.sqlserver.jdbc.SQLServerDriver) 所有参数配置妥当,进行测试时,系统报错: oracle.odi.core.exception.OdiRuntimeException: java.lang.IllegalArgumentException: Could not load JDBC driver class [com.microsoft.jdbc.sqlserver.SQLServerDriver] at oracle.odi.core.datasource.provider.AbstractDataSourceProvider.configure(Unknown Source) at oracle.odi.core.datasource.support.DefaultDataSourceManager.createAndConfigureDataSourceProvider(Unknown Source) at oracle.odi.core.datasource.support.DefaultDataSourceManager$1.create(Unknown Source) 查看资料,发现在ODI11g中有两处地方是可以放置驱动文件的:\AppData\Roaming\odi\oracledi\userlib和/agent/oracledi/drivers 。 两个文件夹的放置意图是不同的,对于ODI的服务器端,可将驱动放在\agent\drivers下,当进行数据库连接时,自动会调用服务器端的驱动,而用于连服务器的客户端,由于它们是没有\oracledi\agent\目录的,因此在连接时即需要将驱动放在:\AppData\Roaming\odi\oracledi\userlib,用本地代理进行连接。例如,在对Ms SqlServer的模型进行反向时,如果使用本地代理,也会报找不到驱动的错,将该驱动添加到userlib目录下,即可解决问题。比较好奇的是,为何Oracle的数据库反向却没有这样的报错,并且该目录下也没有对应的驱动。