我们得到了一个使用 VBA 宏编译选定 siebel 对象的任务。 当我说选择时,这意味着对象列表将在一个 excel 工作表中可用。
是否可以在 VBA 中自动编译?
任何帮助将不胜感激。提前谢谢。
我可以帮你解决这个问题。
不。
您可以仔细检查 Oracle 支持。
如@Ranjith所述,没有受支持的 API 来编译 SRF。这适用于 VBA COM 和 Java Bean。
即使您设法找到一种未记录的 VA 编译 SRF 的方法,Oracle 也不支持它。之后您遇到的任何问题,他们都会要求您使用标准编译重现您的问题。所以,我也建议不要投资这条路线。
为了论证起见,我将暂时假设有一种支持的方式。即便如此,我认为 Excel 是自动化 SRF 编译和部署的最糟糕方法。它是一个客户端应用程序,它不能 - 或者很难 - 在命令行上运行,并且不能与适当的持续集成工具(如Jenkins,Travis CI,Bambing等)进行交互。
从头开始为 Siebel 构建 CI/CD 管道非常复杂。花点时间研究这个问题。看看商业方的支持,如果你确实想开发自己的,找一个好的DevOps工程师,并将他与一个具有部署经验的强大Siebel工程师结合起来。
正如之前所有评论员所提到的,这是一个挑战,但仍然是可能的。事实上,您可以在Siebel Tools Object Compiler服务上使用脚本,该服务通过siebdev.exe批处理编译调用触发。弄乱存储库名称输入参数可以为您提供将 Excel 文件名传递到服务中的方法。 可以按照 PreInvokeMethod 挂钩上的这些复杂步骤执行增量编译:
- 使用EAI 事务服务打开事务(可能需要 Windows Siebel Server 发行版中的一些 ddl 库)
- 创建一个新项目(例如"__my_incremental_compilation__")
- 找到所需的存储库对象并将其移动到项目中
- 将项目名称传递给服务的"输入"属性集的"项目列表">参数
- 继续服务呼叫(等待编译结束)
- 回滚事务
当我遇到同样的问题时,这对我来说效果很好。
希望对您有所帮助!