0

我想从 sdk 中获取 table_name 、 report_name 和 Universe_name ,

java sdk可以吗?

我可以得到这样的查询:

IInfoObjects infoObjectsUniverse2; 
IInfoStore iStore2;


IEnterpriseSession es2=null;
try {
    es2 = CrystalEnterprise.getSessionMgr().logon( user, password, CMSName, cmsAuthType);

//session.setAttribute( "enterpriseSession", es );
iStore2 = (IInfoStore)es2.getService("", "InfoStore");


IInfoObjects getuniv;
String queryUniverse = "SELECT  * FROM ci_appobjects WHERE SI_Kind='DSL.MetaDataFile' and SI_SPECIFIC_KIND = 'DSL.Universe'";
getuniv = iStore2.query(queryUniverse);
4

1 回答 1

0

您可以从存储库中检索 WI 报告的名称 ( SI_NAME) 及其关联的 Universe ( SI_UNIVERSE, SI_DSL_UNIVERSE):

SELECT si_id, si_name, si_universe, si_dsl_universe FROM ci_infoobjects WHERE si_kind='Webi' and si_instance=0 

SI_UNIVERSE和属性都是SI_DSL_UNIVERSEID 的集合,您需要对其进行序列化并包含在第二个查询中以获取有关 Universe 的详细信息:

SELECT * FROM ci_appobjects WHERE si_id IN ([serialized list of IDs])

如果您只需要 UNV 或 UNX Universe 的列表,请使用以下查询:

SELECT * FROM ci_appobjects WHERE si_kind IN ('Universe','DSL.Universe')

您需要使用Universe SDK之一来访问 Universe 的表集合等。

您也可以尝试使用 RESTful Raylight SDK,但祝您找到文档好运——我看到的所有链接都是孤立的。

于 2017-11-27T19:09:52.823 回答