Hi,
I can't get my code to commit changes to the InfoStore that I'm making to the reports, namely the report logon information.
The error that I get when I call the commit method is this:
com.crystaldecisions.sdk.occa.infostore.internal.r: An error occurred at the server :
This feature has not been implemented.
cause:com.seagatesoftware.img.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:An error occurred at the server :
This feature has not been implemented.
The server supplied the following details: OCA_Abuse exception 7680 at [.\osca_i_impl.cpp : 294] 42501 {}
...Deprecated interface called: commit.
The server is Crystal Reports Server 2008. I understand there are 2 more new commmit methods in the new SDKs that do atomic commits(which I'm not currently using but the old one is usable as well from the examples I've seen including in the SDK). I don't mind changing the code and the JARs - which are quite a few - if I'll have to do that, but I don't want to do that just yet to solve one call which might not have to with the code, since the SDK does not say that the commit method itself is deprecated.
Does anybody have any [other] suggestions?
Thanks.
I can't get my code to commit changes to the InfoStore that I'm making to the reports, namely the report logon information.
Code:
[purple]if[/purple] (reports != [purple]null[/purple] && reports.size() > 0)
{
//load and modify each report in the folder
[purple]for[/purple] ([purple]int[/purple] i = 0; i < reports.size(); i++)
{
IInfoObject object = (IInfoObject) reports.get(i);
IReport report = (IReport) object;
IReportLogon reportLogon = (IReportLogon)report.getReportLogons().get(0);
setLogonProperties(reportLogon, _crystalLoginInfo);
_infoStore.commit(reports);
}
}
Code:
[purple]private void[/purple] setLogonProperties(IReportLogon _reportLogon, CrystalLoginInfo _crystalLoginInfo) [purple]throws[/purple] SDKException
{
[purple]try[/purple]
{
_reportLogon.setCustomServerName(_crystalLoginInfo.getCustomServerName());
_reportLogon.setCustomServerType(1);
_reportLogon.setCustomDatabaseName("");
_reportLogon.setCustomUserName(_crystalLoginInfo.getCustomUsername());
_reportLogon.setCustomPassword(_crystalLoginInfo.getCustomPassword());
_reportLogon.setOriginalDataSource(false);
/*
ISDKSet tablePrefixes =_reportLogon.getReportTablePrefixes();
IReportTablePrefix tablePrefix = (IReportTablePrefix)tablePrefixes.get(CePropertyID.SI_MAPPED_TABLEPREFIX);
tablePrefix.setMappedTablePrefix(_crystalLoginInfo.getMappedTablePrefix());
tablePrefix.setUseMappedTablePrefix(true);
*/
_reportLogon.setPromptOnDemandViewing(false);
}
[purple]catch[/purple] (SDKException sdkEx)
{
[purple]throw[/purple] sdkEx;
}
[purple]catch[/purple](UnsupportedOperationException unsupportedEx)
{
[purple]throw[/purple] unsupportedEx;
}
}
The error that I get when I call the commit method is this:
com.crystaldecisions.sdk.occa.infostore.internal.r: An error occurred at the server :
This feature has not been implemented.
cause:com.seagatesoftware.img.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:An error occurred at the server :
This feature has not been implemented.
The server supplied the following details: OCA_Abuse exception 7680 at [.\osca_i_impl.cpp : 294] 42501 {}
...Deprecated interface called: commit.
The server is Crystal Reports Server 2008. I understand there are 2 more new commmit methods in the new SDKs that do atomic commits(which I'm not currently using but the old one is usable as well from the examples I've seen including in the SDK). I don't mind changing the code and the JARs - which are quite a few - if I'll have to do that, but I don't want to do that just yet to solve one call which might not have to with the code, since the SDK does not say that the commit method itself is deprecated.
Does anybody have any [other] suggestions?
Thanks.