如何使用业务对象 java sdk 更新 crystal 报告的数据库配置

How to update database configuration for crystal report with business objects java sdk

我正在尝试使用 BO 4.2 sdk 更新报告的数据库配置。这是我尝试过的。

    query=Select SI_NAME,SI_ID From CI_INFOOBJECTS Where SI_PROGID = 'CrystalEnterprise.Report' And SI_NAME= {report_name} And SI_PARENTID={parent_id};
    IInfoObjects results = iStore.query(query);
    IInfoObject report=(IInfoObject) results.get(0);

两者都

IProperties parentLogonInfo = report.getProcessingInfo().properties().getProperties("SI_LOGON_INFO");

IProperties parentLogonInfo = report.getProcessingInfo().properties();

returns 空。

我应该如何更新报告的属性?

指定的查询不包含 SI_PROCESSINFO 属性。因此,您无法在执行查询后检索它。

将 SI_PROCESSINFO 属性 添加到您的 select 子句中,您将能够在执行查询后访问它。

Select SI_NAME,SI_ID, SI_PROCESSINFO From CI_INFOOBJECTS Where SI_PROGID = 'CrystalEnterprise.Report' And SI_NAME= {report_name} And SI_PARENTID={parent_id}