微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Progress-4GL 程序上安装更新

如何解决如何在 Progress-4GL 程序上安装更新

下午好,
在我的公司,我们定期更新客户的系统,所有 Progress-4GL 技术。目前我们所有这些都是手动完成的,我想自动化。

需要执行以下操作:

是否有工具可以完成所有这些工作(连同压缩/解压缩 *.w、*.p 和 *.i 文件),还是我需要自己创建这样的工具?

在后一种情况下,上述操作的命令行命令是什么:

提前致谢

解决方法

如果您熟悉 ANT,请查看 ANT 的 PCT 插件:

https://github.com/Riverside-Software/pct

这使得在“新”完整 DF 和当前数据库之间创建 delta.df 文件变得容易,例如:

<PCTDumpIncremental destFile="temp/delta.df" dlcHome="${dlc}" 
   debugLevel="2" activeIndexes="0" removeEmptyDFFile="true" msgBufferSize="${Mm}" >
    
    <SourceDB dbname="temp/ref-SmartDB" singleUser="true" />
    <TargetDB dbname="${smartdb}" dbDir="${smartdbdir}" singleUser="${smartdbsingleuser}"/>
</PCTDumpIncremental>

然后将 delta.df 加载到当前应用程序数据库中:

<PCTLoadSchema srcFile="temp/delta.df" dlcHome="${dlc}" onlineChanges="true" callbackClass="rssw.pct.AbstractLoadCallback" msgBufferSize="${Mm}"  commitWhenErrors="false">
    <DBConnectionSet refid="smartdbset" />
</PCTLoadSchema>

然后编译应用程序:

<PCTCompile destDir="${installroot}" graphicalMode="true" dlcHome="${dlc}"
    md5="true" minSize="false" cpinternal="${cpinternal}" cpColl="${cpcoll}" cpstream="${cpstream}" 
    compileUnderscore="true" inputchars="32000" baseDir="${installroot}"
    token="4000" progPerc="10" assemblies="${assemblies}">
    <fileset dir="${installroot}" casesensitive="false">
        <include name="Ccs/**/*.cls"/>
        <include name="Consultingwerk/**/*.cls"/>
        <include name="Consultingwerk/**/*.p"/>
        <include name="Consultingwerk/**/*.w"/>
        <include name="Setup/**/*.p"/>
        <include name="src/**/*.p"/>
     </fileset>

    <propath>
        <pathelement path="${installroot}/." />
        <pathelement path="${installroot}/src" />
        <pathelement path="${installroot}/Consultingwerk/Studio/ProdictDumpHack/src" />
        <pathelement path="${dlc}/gui/netlib/OpenEdge.Net.pl" />                
    </propath>
    <DBConnectionSet refid="smartdbset" />
</PCTCompile>

ANT 和 PCT 从 11.7 开始包含在 OpenEdge 中。由于您使用的是 11.6,因此您必须自带 ANT 和 PCT。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。