ITPub博客

首页 > 应用开发 > IT综合 > 【BO-SDK】-(RAS) DB_Connection Changing _@Z01

【BO-SDK】-(RAS) DB_Connection Changing _@Z01

原创 IT综合 作者:xiangjinling 时间:2010-09-24 20:20:19 0 删除 编辑
DB_Connection with RAS (not customer con changing which can be done by boe sdk)[@more@]

....


IInfoObjects oInfoObjects=null;
IInfoObject oInfoObject=null;

IEnterpriseSession boEnterpriseSession;
ReportClientDocument myClientDocument=null;
try {
boEnterpriseSession = CrystalEnterprise.getSessionMgr().logon( username, password, cmsName, authType);
IInfoStore boInfoStore = (IInfoStore) boEnterpriseSession.getService("", "InfoStore");
oInfoObjects = (IInfoObjects) boInfoStore.query("Select * from CI_INFOOBJECTS Where SI_INSTANCE=0 And SI_ID='16578'");
oInfoObject = (IInfoObject) oInfoObjects.get(0);

IReportAppFactory myReportfactory=(IReportAppFactory)boEnterpriseSession.getService("RASReportFactory");
myClientDocument=myReportfactory.openDocument(oInfoObject, 0, Locale.getDefault()) ;
DatabaseController dbController=myClientDocument.getDatabaseController();

PropertyBag promptProperties = new PropertyBag();
promptProperties.putBooleanValue( PropertyBagHelper.PROMPTPROPERTY_ALL, true );
promptProperties.putBooleanValue( PropertyBagHelper.PROMPTPROPERTY_INCLUDEONDEMANDSUBREPORT, true );
promptProperties.putBooleanValue( PropertyBagHelper.PROMPTPROPERTY_INCLUDEMETADATASUBCONNECTIONS, true );
promptProperties.putBooleanValue( PropertyBagHelper.PROMPTPROPERTY_INCLUDEOLAPCONNECTIONS, true );
ConnectionInfos connectionInfos=dbController.getConnectionInfos(promptProperties);

IConnectionInfo oldConnection_=connectionInfos.getConnectionInfo(0);
//ConnectionInfos oConnectionInfos = new ConnectionInfos();
IConnectionInfo newIConnectionInfo = new ConnectionInfo();

newIConnectionInfo.setKind( ConnectionInfoKind.CRQE );
newIConnectionInfo.setUserName("user777");
newIConnectionInfo.setPassword("777");

PropertyBag attributes=newIConnectionInfo.getAttributes();
attributes.put( PropertyBagHelper.CONNINFO_DATABASE_DLL, "crdb_opensql");


PropertyBag logonPb = new PropertyBag();
logonPb.put("PreQEServerName", "myserver7.sap.corp");
logonPb.put("PreQEDatabaseName", "CLIENT=102 LANG=EN ASHOST="myserver7.sap.corp" SYSNR=04 R3NAME=EH4");
attributes.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, logonPb);
//attributes.put("QE_LogonProperties", logonPb);
//oConnectionInfos.add(oIConnectionInfo);
dbController.replaceConnection(oldConnection_, newIConnectionInfo, null, DBOptions._doNotVerifyDB);
//myClientDocument.verifyDatabase();

myClientDocument.save();

} catch (SDKException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ReportSDKException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

-----------------------------------------

IConnectionInfo oldConnection=connectionInfos.getConnectionInfo(0);
PropertyBag attrius=oldConnection.getAttributes();

attrius.get("QE_ServerDescription")...

QE_ServerDescription

QE_SQLDB

QE_DatabaseType

QE_DatabaseName

QE_LogonProperties

SSO Enabled

Database DLL

-------------------

PropertyBag logpb=(PropertyBag)attrius.get("QE_LogonProperties");

logpb.get("sap_selected_system")....

sap_selected_system

CODEPAGE

CLIENT

Database

LANG

SSOKEY

Server

SYSNR

ASHOST

------------------------------------------

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24167472/viewspace-1038880/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-06-29

  • 博文量
    19
  • 访问量
    26372