Data source change while migrating report to another server

Hi all.
I have actually two questions:
1) How exactly works the data source connection in CR? If I create a package in database and then connect it with my report, what happens in time of creating the report? Does the CR use the current package version stored in DBS or use the package in version when it be connected with report (so it looks like the CR loaded the code inside the report and are resistant to all changes in dbs)? If the second option is right (I think it is, unfortunately), can it be somehow changed?
2) And now - If I create report and connect it with data source (database package) in development server and then I want just to move the completed and functional report to test server (and then other environments), is there any possibility to change automatically the data source to test server database? Everything is the same on DEV and TEST servers and their databases, except data, of course.
The imagination that after creating some reports and migrating them to another environment I have to open all of them and manually change the data source is very very bad.
Thanks for answers!

Hi Filip,
I don't think I understand the first question.
For the second one though, if you want your reports to work seamlessly across environments then you should have your reports connect to the database using an ODBC System DSN.
Each Envinronment (Dev, Test and Prod) should have the same DSN Name with each DSN pointing to the respective database sever.
-Abhilash

Similar Messages

  • Trying to change the data source for a Crystal Report.

    <p>The method below represents my best attempt to programatically change the data source of a Crystal Report. The goal is to have a routine that will update the data source for reports after they have been distributed to production servers. So far I have not been successful in saving the report back to the CMS. No exceptions are thrown, but when I view the Database Configuration of the report in the CMC nothing has changed.
    </p>
    <p>
    Am I missing a step, or is there another way to accomplish this?
    </p>
    <p>
    Thank you.
    </p>
    <hr />
    <pre>
    private void test(String reportName)
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects;
       IInfoObject reportObj;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dc;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB; //0;
       Fields connFields = null;
       String queryStr = "Select * From CI_INFOOBJECTS " +
          "Where SI_NAME='wfr.rpt' AND SI_KIND='CrystalReport' AND SI_INSTANCE=0";
       newInfoObjects = getCms().executeQuery(queryStr);
       if(newInfoObjects.size() > 0)
          reportObj = (IInfoObject)newInfoObjects.get(0);
          try
             clientDoc = getCms().getReportAppFactory().openDocument(
                reportObj
                , OpenReportOptions._refreshRepositoryObjects
                , java.util.Locale.US);
             dc = clientDoc.getDatabaseController();
             conInfos = dc.getConnectionInfos(null);
             for(int i = 0; i < conInfos.size(); ++i)
                oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(i);
                newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                pBag = newConInfo.getAttributes();
                pBag.putStringValue("QE_ServerDescription", "alio");
                logonProps = new PropertyBag();
                logonProps.putStringValue("Trusted_Connection", "false");
                logonProps.putStringValue("Server", "alio");
                pBag.put("QE_LogonProperties", logonProps);
                newConInfo.setUserName("admin");
                newConInfo.setPassword("password");
                dc.replaceConnection(
                   oldConInfo
                   , newConInfo
                   , connFields
                   , connOptions);
          catch(ReportSDKServerException Ex)
             String msg = "A server error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          catch(Exception Ex)
             String msg = "An error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          finally
             clientDoc.save();
             getCms().commitToInfoStore(newInfoObjects);
             clientDoc.close();
    </pre>
    Edited by: Mark Young on Sep 10, 2009 2:16 PM

    <style type="text/css">
    /<![CDATA[/
        body
            font-size: 1.125em;
              font-family: helvetica,arial,"sans-serif";
          .code{font-family: "courier new",courier,mono,monospace}
          .bi{font-style: italic; font-weight: bold;}
    /]]>/
    </style>
    <p>Justin,</p>
    <p>
    Thank you for the reply. Time constraints have not allowed me to post back to this tread
    till now. I will try your suggestion. My assumption is that <i>Save the report back to the
    info store</i> refers to <span class="code">IInfoStore.commit(IInfoObjects)</span>.
    </p>
    <p>
    I'm afraid that I do not understand why I don't want to change the report client document,
    or why <i>successfully exporting the report with the new login/password</i> is not what I
    want to do. Any explanation on that statement would be appreciated.
    </p>
    <p>
    I did find a way to accomplish my goal. It involved adding the SSOKEY property to the
    logon property bag. Below you'll see my revised code which modifies the report logon and
    server. I have no idea what
    this does, and SAP support has not been able to tell me why it works. However, what I
    discovered is that if I changed the report option, <b>Database Configuration -> When
    viewing report:</b>, in the CMS to <span class="bi">Use same database logon as when report
    is run</span> from <span class="bi">Prompt the user for database logon</span>, then the
    SSOKEY property had been added to the logon property bag having an empty string as its
    value. This allowed me to successfullyupdate and save the modified logon back to the CMS.
    </p>
    <p>
    So I took a chance and added code to always add the SSOKEY property with an empty string
    as its value, and I could then successfully modify and save the report's logon info
    and server. Again, I don't know what this means, but it has worked so far. If anyone has
    some insight or comments, either are welcome. Thank you in advance.
    </p>
    <br />
    <hr />
    <pre>
    private void changeDataSourceOfAWFCrystalReports()
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects = null;
       IInfoObject reportObj = null;
       IReport curReport = null;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dbController;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
       Fields connFields = null;
       String outputStr;
       int numOfReports;
       int numOfQueryPages;
       double progressIncrementPerPage = 30;
       int progressIncrementPerReport = 0;
       // Path query to reports is in a .properties file.
       String queryStr = getAppSettingsFile().getWscAwfCrystalReportPathQuery();
       try
          // Executes IInfoStore.getPageingQuery() and generates a list of queries.
          getCms().setPathQueryQueries(queryStr, 100);
          numOfQueryPages = 0;
          // Gets a List&lt;String&gt; of the IPageResult returned from IInfoStore.getPageingQuery().
          if(getCms().getPathQueryQueries() != null)
             numOfQueryPages = getCms().getPathQueryQueries().size();
          if(numOfQueryPages &gt; 0)
             // Use 30% of progress bar for the following loop.
             progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
          for(int queryPageIndex = 0; queryPageIndex &lt; numOfQueryPages; ++queryPageIndex)
             // Gets the IInfoObjects returned from the current page query
             newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
             numOfReports = newInfoObjects.size();
             if(newInfoObjects != null && numOfReports &gt; 0)
                progressIncrementPerReport =
                   Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
                for(int reportIndex = 0; reportIndex &lt; numOfReports; ++reportIndex)
                   reportObj = (IInfoObject)newInfoObjects.get(reportIndex);
                   curReport = (IReport)reportObj;
                   clientDoc = getCms().getReportAppFactory().openDocument(
                      reportObj
                      , OpenReportOptions._refreshRepositoryObjects
                      , java.util.Locale.US);
                   dbController = clientDoc.getDatabaseController();
                   conInfos = dbController.getConnectionInfos(null);
                   for(int conInfosIndex = 0; conInfosIndex &lt; conInfos.size(); ++conInfosIndex)
                      oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                      newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                      pBag = newConInfo.getAttributes();
                      pBag.putStringValue(
                         "QE_ServerDescription"
                         ,getConfigFile().getDBDataSourceConnections());
                      logonProps = new PropertyBag();
                      logonProps.putStringValue("Trusted_Connection", "false");
                      <b>logonProps.putStringValue("SSOKEY", "");</b>
                      logonProps.putStringValue(
                         "Server"
                         ,getConfigFile().getDBDataSourceConnections());
                      pBag.put("QE_LogonProperties", logonProps);
                      newConInfo.setUserName(getConfigFile().getUNVConnectionUserName());
                      newConInfo.setPassword(getConfigFile().getUNVConnectionPasswordDecrypted());
                      dbController.replaceConnection(
                         oldConInfo
                         , newConInfo
                         , connFields
                         , connOptions);
                      newConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                   } // end for on conInfosIndex
                   clientDoc.save();
                } // end for on reportIndex
             } // end if on newInfoObjects
          } // end for on queryPageIndex
       } // end try
       catch(ReportSDKServerException Ex)
          // handle...
       catch(Exception Ex)
          // handle...
       finally
          getCms().commitToInfoStore(newInfoObjects);
          if(clientDoc != null)
             clientDoc.close();
    </pre>

  • OSB: Cannot acquire data source error while using JCA DBAdapter in OSB

    Hi All,
    I've entered 'Cannot acquire data source' error while using JCA DBAdapter in OSB.
    Error infor are as follows:
    The invocation resulted in an error: Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapter1/RetrievePersonService [ RetrievePersonService_ptt::RetrievePersonServiceSelect(RetrievePersonServiceSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'RetrievePersonServiceSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/soademoDatabase].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.soademoDatabase'. Resolved 'jdbc'; remaining name 'soademoDatabase'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    JNDI Name for the Database pool: eis/DB/soademoDatabase
    JNDI Name for the Data source: jdbc/soademoDatabase
    I created a basic DBAdapter in JDeveloper, got the xsd file, wsdl file, .jca file and the topLink mapping file imported them into OSB project.
    Then I used the .jca file to generate a business service, and tested, then the error occurs as described above.
    Login info in RetrievePersonService-or-mappings.xml
    <login xsi:type="database-login">
    <platform-class>org.eclipse.persistence.platform.database.oracle.Oracle9Platform</platform-class>
    <user-name></user-name>
    <connection-url></connection-url>
    </login>
    jca file content are as follows:
    <adapter-config name="RetrievePersonService" adapter="Database Adapter" wsdlLocation="RetrievePersonService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/DB/soademoDatabase" UIConnectionName="Connection1" adapterRef=""/>
    <endpoint-interaction portType="RetrievePersonService_ptt" operation="RetrievePersonServiceSelect">
    <interaction-spec className="oracle.tip.adapter.db.DBReadInteractionSpec">
    <property name="DescriptorName" value="RetrievePersonService.PersonT"/>
    <property name="QueryName" value="RetrievePersonServiceSelect"/>
    <property name="MappingsMetaDataURL" value="RetrievePersonService-or-mappings.xml"/>
    <property name="ReturnSingleResultSet" value="false"/>
    <property name="GetActiveUnitOfWork" value="false"/>
    </interaction-spec>
    </endpoint-interaction>
    </adapter-config>
    RetrievePersonService_db.wsdl are as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <WL5G3N0:definitions name="RetrievePersonService-concrete" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N0="http://schemas.xmlsoap.org/wsdl/" xmlns:WL5G3N1="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N2="http://schemas.xmlsoap.org/wsdl/soap/">
    <WL5G3N0:import location="RetrievePersonService.wsdl" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService"/>
    <WL5G3N0:binding name="RetrievePersonService_ptt-binding" type="WL5G3N1:RetrievePersonService_ptt">
    <WL5G3N2:binding style="document" transport="http://www.bea.com/transport/2007/05/jca"/>
    <WL5G3N0:operation name="RetrievePersonServiceSelect">
    <WL5G3N2:operation soapAction="RetrievePersonServiceSelect"/>
    <WL5G3N0:input>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:input>
    <WL5G3N0:output>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:output>
    </WL5G3N0:operation>
    </WL5G3N0:binding>
    <WL5G3N0:service name="RetrievePersonService_ptt-bindingQSService">
    <WL5G3N0:port binding="WL5G3N1:RetrievePersonService_ptt-binding" name="RetrievePersonService_ptt-bindingQSPort">
    <WL5G3N2:address location="jca://eis/DB/soademoDatabase"/>
    </WL5G3N0:port>
    </WL5G3N0:service>
    </WL5G3N0:definitions>
    Any suggestion is appricated .
    Thanks in advance!
    Edited by: user11262117 on Jan 26, 2011 5:28 PM

    Hi Anuj,
    Thanks for your reply!
    I found that the data source is registered on server soa_server1 as follows:
    Binding Name: jdbc.soademoDatabase
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 80328036
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/291])/291
    Binding Name: jdbc.SOADataSource
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 92966755
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/285])/285
    I don't know how to determine which server the DBAdapter is targetted to.
    But I found the following information:
    Under Deoloyment->DBAdapter->Monitoring->Outbound Connection Pools
    Outbound Connection Pool Server State Current Connections Created Connections
    eis/DB/SOADemo AdminServer Running 1 1
    eis/DB/SOADemo soa_server1 Running 1 1
    eis/DB/soademoDatabase AdminServer Running 1 1
    eis/DB/soademoDatabase soa_server1 Running 1 1
    The DbAdapter is related to the following files:
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ connectors\ DbAdapter. rar
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ DBPlan\ Plan. xml
    I unzipped DbAdapter.rar, opened weblogic-ra.xml and found that there's only one data source is registered:
    <?xml version="1.0"?>
    <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90">
    <enable-global-access-to-classes>true</enable-global-access-to-classes>
    <outbound-resource-adapter>
    <default-connection-properties>
    <pool-params>
    <initial-capacity>1</initial-capacity>
    <max-capacity>1000</max-capacity>
    </pool-params>
    <properties>
    <property>
    <name>usesNativeSequencing</name>
    <value>true</value>
    </property>
    <property>
    <name>sequencePreallocationSize</name>
    <value>50</value>
    </property>
    <property>
    <name>defaultNChar</name>
    <value>false</value>
    </property>
    <property>
    <name>usesBatchWriting</name>
    <value>true</value>
    </property>
    <property>
    <name>usesSkipLocking</name>
    <value>true</value>
    </property>
    </properties>
              </default-connection-properties>
    <connection-definition-group>
    <connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
    <connection-instance>
    <jndi-name>eis/DB/SOADemo</jndi-name>
              <connection-properties>
                   <properties>
                   <property>
                   <name>xADataSourceName</name>
                   <value>jdbc/SOADataSource</value>
                   </property>
                   <property>
                   <name>dataSourceName</name>
                   <value></value>
                   </property>
                   <property>
                   <name>platformClassName</name>
                   <value>org.eclipse.persistence.platform.database.Oracle10Platform</value>
                   </property>
                   </properties>
              </connection-properties>
    </connection-instance>
    </connection-definition-group>
    </outbound-resource-adapter>
    </weblogic-connector>
    Then I decided to use eis/DB/SOADemo for testing.
    For JDeveloper project, after I deployed to weblogic server, it works fine.
    But for OSB project referencing wsdl, jca and mapping file from JDeveloper project, still got the same error as follows:
    BEA-380001: Invoke JCA outbound service failed with application error, exception:
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapterTest/DBReader [ DBReader_ptt::DBReaderSelect(DBReaderSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'DBReaderSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server. This exception is considered not retriable, likely due to a modelling mistake.
    It almost drive me crazy!!:-(
    What's the purpose of 'weblogic-ra.xml' under the folder of 'C:\Oracle\Middleware\home_11gR1\Oracle_OSB1\lib\external\adapters\META-INF'?
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • How to update a table (CUSTOMER) on a Report Server with the data from the same table (CUSTOMER) from another server Transaction server?

    I had an interview question that is:
    How to update a table (Customer) on a server ex: Report Server with the data from the same table (Customer) From another server ex: Transaction server?
    Set up steps so inset, update or delete operation takes place across the servers.
    It would be great if someone please enlighten me in details about this process in MS SQL Server 2008 R2.
    Also please describe would it be different for SQL Server 2012?
    If so, then what are the steps?

    I had an interview question that is:
    How to update a table (Customer) on a server ex: Report Server with the data from the same table (Customer) from another server ex: Transaction server?
    Set up steps so that inset, update or delete operation gets done correctly across servers.
    I was not sure about the answer, it would be great if someone please put some light on this and explain in details about this process in MS SQL Server 2008 R2.
    Also it would be very helpful if you please describe would it be different for SQL Server 2012? If so, then what are the steps?

  • XML and Web Service Data Source Missing in Crystal Reports for VS

    I would like to use a Web Service as the data source for a Crystal Report that will be running outside of my Visual Studio application.  So setting the data source to the web service in code is not possible.  My understanding is Crystal Reports has a connection (in the Database Expert under New Connection) named XML and Web Service.  Here you can select web service and enter the WSDL URL for the web service.  However it does not appear in the list for Crystal Reports for Visual Studio.  Does this connection type come with the Visual Studio version of Crystal Reports and if not is their a way to obtain it? 
    Thank you for your assistance.

    None of the bundled versions of CR have the driver. Reason is that the driver responsible for these connections requires the Java framework and I suspect MS would not be too pleased if we installed the Java framework. The stand alone versions, since they are not part of any bundle can and do install the Java framework and the driver. Note that even the latest release of CR - CRVS2010 does not have the driver as it essentially becomes a bundle or a VS2010 plug-in.
    So, the short of it is; you have to obtain a stand-alone version of CR. I'd recommend CR 2008 (12.x) as CRXI R2 will run out of support in June of this year.
    - Ludek

  • Stored Procedure used as a data source for an Apex report

    Just wondering whether anyone has used a Stored Procedure as the data source for an Apex report. An option to select Stored Procedures(s) as the data source does not appear within the IDE (only displays Table, Views, Functions).
    Do you have to return the definition of the Stored Procedure via a function ... if so, how is this done ?
    Thank you.

    >
    Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your profile with a real handle instead of "920338".
    When you have a problem you'll get a faster, more effective response by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s)
    With APEX we're also fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
    Just wondering whether anyone has used a Stored Procedure as the data source for an Apex report. An option to select Stored Procedures(s) as the data source does not appear within the IDE (only displays Table, Views, Functions).
    Do you have to return the definition of the Stored Procedure via a function ... if so, how is this done ? When asking a question about "reports" it's firstly essential to differentiate between standard and interactive reports. Standard reports can be based on tables, views, SQL queries, or PL/SQL function blocks that return the text of a SQL query. Interactive reports can only be based on a SQL query.
    "Stored Procedures" are therefore not an option (unless you are using the term loosely to describe any PL/SQL program unit located in the database, thus including functions). What would a procedure used as the source of a report actually do? Hypothetically, by what mechanisms would the procedure (a) capture/select/generate data; and (b) make this data available for use in an APEX report? Why do you want to base a report on a procedure?

  • Advice on Promoting Master Data Services Changes from one environment to another, e.g. DEV to UAT

    Hi,
    Has anyone got experience of creating a script to promote Master Data Services changes from one environment to another, e.g. Development to Production please?
    The changes basically consist of adding several new MDS members which can be accessed via Excel.
    Thanks in advance,
    Kind Regards,
    Kieran.
    Kieran Patrick Wood http://www.innovativebusinessintelligence.com http://uk.linkedin.com/in/kieranpatrickwood http://kieranwood.wordpress.com/

    In MDS terminology an Entity is metadata, and Entity Members are the data. 
    Typically changes to an Entity (ie model design changes) are promoted to different environments.  Model design changes can be replicated manually in each environment or you can Export the model and Import it into the target environment.
    Adding, editing and deleting entity members is performed directly in each environment.
    If you want to selectively import data from a Dev environment, you can use staging.
    David
    David http://blogs.msdn.com/b/dbrowne/

  • How to create JNDI data source name in Tomcat 6.0.18 server?

    Hai,
    How to create JNDI data source name in Tomcat 6.0.18 server?
    Regards,
    MariMuthu.A

    [http://google.com/search?q=jndi+site:tomcat.apache.org+6.0]

  • The surver for e-mail used as Apple-ID is going to shut down.  How do I change my Apple-ID to another server?

    The surver for e-mail used as Apple-ID is going to shut down.  How do I change my Apple-ID to another server/anothe e-mailadress?

    RISEABOVE wrote:
    HOW?
    Change your Apple ID - Apple Support

  • Change the data source connection of existing reports in web analysis

    Hi
    I have developed certain reports in web analysis 9.3.1, now I need to point these reports to a new cube with same layout. Can anyone let me know how to change this data source. There are lot many reports so it will take lot of time for me to recreate them.
    Please suggest any good approach
    ---xat

    You can edit the Database connection from Web Analysis. Perform the below tasks to edit the database connection..
    1) Login to Web Analysis
    2) Select the Database Connection which needs to be modified.
    3) Right Click then Edit..
    Hope this helps you..
    Regards,
    Manmohan Sharma

  • JRC change data source of xml based report

    Hello
    I have a crystal report with an xml data source. I stored the report without data.
    When I open the report using JRC and try to set a new data source an exception is thrown.
    - JRCAgent1 received request: setDataSourceRequest
    - An error occurs, the error is: Schema file does not define any table
    - XmlDriverException happened in the function CRDB_XMLImpl.DbLogonServer() when logoning from Local
    - Set data source failed: Fehler bei Anmeldung.
    - JRCAgent1 detected an exception: Fehler bei Anmeldung.
         at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
         at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
         at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setDataSource(Unknown Source)
         at com.crystaldecisions.reports.sdk.DatabaseController.setDataSource(Unknown Source)
         at JRCExportReportToPDF.main(JRCExportReportToPDF.java:40)
    The code sniped is:
                //open report.
                ReportClientDocument reportClientDoc = new ReportClientDocument();
                reportClientDoc.open(REPORT_FILE_NAME, 0);
                // open xml data
                FileInputStream dataInputStream = new FileInputStream(new File(DATA_FILE_NAME));
                byte[] dataBuffer = new byte[dataInputStream.available()];
                dataInputStream.read(dataBuffer);
                ByteArray dataByteArray = new ByteArray(dataBuffer);
                // open xml schema
                FileInputStream schemaInputStream = new FileInputStream(new File(SCHEMA_FILE_NAME));
                byte[] schemaBuffer = new byte[schemaInputStream.available()];
                schemaInputStream.read(schemaBuffer);
                ByteArray schemaByteArray = new ByteArray(schemaBuffer);
                XMLDataSet xmlDataSet = new XMLDataSet(dataByteArray, schemaByteArray);
                reportClientDoc.getDatabaseController().setDataSource (xmlDataSet, "TamFileList/TamFile/Notam", "TamFileList/TamFile/Notam");
    Thank you for any hint.
    Rudy

    Direct reporting in Crystal Reports works fine. All data is presented and refresh also works.
    The xml and the schama files are read in the first block of the read. So the complete xml and schema are
    passed to the constructor of the XMLDataSet. Of course I have to change the read for production (thank you for the hint)
    I wonder why the ClientReportDocument or better to say its data source and its underlying driver
    (CRDB_XMLImpl.DbLogonServer()) tryes to connect to a database when there is no database at all.
    Edited by: Erwin Stadler on Jul 30, 2010 1:39 PM

  • Changing the data source of a Crystal Report

    Post Author: starmizzle
    CA Forum: Crystal Reports
    We're running a trial of BusinessObjects XI Release 2 to see if it fits our needs.
    We were told that we could import and publish our existing Crystal Reports and then later on go back and change their data sources to point to new universes as they're built.
    So I've published a simple Crystal Report that I can run and modify through Infoview. And I've created a universe with the appropriate fields and calculations that it needs. So how do I force my published report to use the new universe as its data source instead of the system DSN it had when it was made?

    Post Author: starmizzle
    CA Forum: Crystal Reports
    We're running a trial of BusinessObjects XI Release 2 to see if it fits our needs.
    We were told that we could import and publish our existing Crystal Reports and then later on go back and change their data sources to point to new universes as they're built.
    So I've published a simple Crystal Report that I can run and modify through Infoview. And I've created a universe with the appropriate fields and calculations that it needs. So how do I force my published report to use the new universe as its data source instead of the system DSN it had when it was made?

  • Error loading report when data source changed

    We are migrating our Crystal Reports from using XML files generated from our SAP R3 system to using a direct connection to SAP R3 (using the SAP Integration Kit).
    The code is straightforward:
          crReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
          crReport.Load(reportPath);
    ...where the reportPath is just a string with the path and filename (e.g. "C:\reports\Report1.rpt").
    This worked fine with the report when it had an XML data source. When we run the code with the new version of the report that connects to a data table on our SAP R3 we get the following error message:
    Error in File Report1 {40205567-F890-4B3C-A103-C9C8F0A1E665}.rpt: Failed to logon to the Crystal Report Object Repository.
    The report is not in an Object Repository, nor do we even have a Repository in place right now. The report can be run manually from Crystal Reports on the desktop without any kind of Repository.
    Both versions of the report were built in Crystal Reports 2008.
    Thanks,
    Byron

    I am not sure if connecting to SAP is any different than connecting to SQL, but we develop one report and then deploy to N number of client who all have their own SQL servers and server names.
    Here is the code I use to alter the database connection at runtime:
      connection.DatabaseName = _datebaseName;
                    connection.ServerName = _serverName;
                    if (_integratedSecurity)
                        connection.IntegratedSecurity = _integratedSecurity;
                    else
                        connection.UserID = _userId;
                        connection.Password = _password;
                    connection.Type = ConnectionInfoType.SQL;
                    // First we assign the connection to all tables in the main report
                    foreach (CrystalDecisions.CrystalReports.Engine.Table table in _reportDocument.Database.Tables)
                        AssignTableConnection(table, connection);
                    foreach (CrystalDecisions.CrystalReports.Engine.Section section in _reportDocument.ReportDefinition.Sections)
                        // In each section we need to loop through all the reporting objects
                        foreach (CrystalDecisions.CrystalReports.Engine.ReportObject reportObject in section.ReportObjects)
                            if (reportObject.Kind == ReportObjectKind.SubreportObject)
                                SubreportObject subReport = (SubreportObject)reportObject;
                                ReportDocument subDocument = subReport.OpenSubreport(subReport.SubreportName);
                                foreach (CrystalDecisions.CrystalReports.Engine.Table table in subDocument.Database.Tables)
                                    AssignTableConnection(table, connection);

  • Error while migrating reports from one instance to another(no torch seen)

    Hi,
    I am facing this problem when I am trying to migrate reports from UAT to Production. After migration when I try to run the report from Discoverer plus, I cannot see the torch symbol which is general if we have any parameters for that report. So, I again migrate the same .eex file and now I see the torch.
    Can any one throw some thoughts why is this happening, why I cannot see the torch symbol in the first time itself?
    Thanks,
    Srini.

    Hi Srini
    The list of values is not being associated with the item the first time around. The order in which the items are selected is important so for example if lists of values were imported first without the items upon which they depend they will be ignored. Running the import a second time will cause the LOVs to recognize their associated item and thus the association will be made.
    Generally I do two exports. I will export my folders and workbooks first and then export my item classes.
    Hope this helps explain what you are seeing.
    Best wishes
    Michael

  • Issues while migration reports to 2012 report server .

    I am stuck in report server related issue . Following are steps and log files details  for migrating report server database from 2005 to 2012 :-
    Back up the encryption key for the report server database.
    Back up the report server database a SQL Server database.
    Back up the report server configuration files.
    Restore the database from the backup created , As temporary database and the main database are depend so they should be restored together.
    Start the Reporting Services Configuration tool and connect to the Reporting Services instance you just installed.
    Configure URLs for the report server and Report Manager
    Configure the report server database, selecting the existing report server database from your previous installation. After successful configuration, the report server services
    will restart, and once a connection is made to the report server database, the database will be automatically upgraded to SQL Server 2012 Reporting Services.
    As we were not able to figure out the password I tried another approach to test if the
    report server works after deleting the encrypted data . I deleted encrypted data.
    Error below is shown in log files when I try to access report manager .
    Log Files Details:-
    at Microsoft.ReportingServices.UI.FolderItems.LoadItems()
       at Microsoft.ReportingServices.UI.SortableItems.Control_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.AddedControl(Control control, Int32 index)
       at Microsoft.ReportingServices.UI.FolderContentsPageCtrl.Control_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.AddedControl(Control control, Int32 index)
       at Microsoft.ReportingServices.UI.SharedArea.Control_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.AddedControl(Control control, Int32 index)
       at Microsoft.ReportingServices.UI.FolderPage.Page_Init(Object sender, EventArgs e)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Page.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    ui!ReportManager_0-1!1e18!07/30/2012-05:17:31:: e ERROR: HTTP status code --> 200
    -------Details--------
    System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: An internal error occurred on the report server. See the error log for more details. ---> Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:
    An internal error occurred on the report server. See the error log for more details.
       at Microsoft.ReportingServices.Library.ReportingService2005Impl.ListChildren(String Item, Boolean Recursive, CatalogItemList& CatalogItems)
       at Microsoft.ReportingServices.WebServer.ReportingService2010.ListChildren(String ItemPath, Boolean Recursive, CatalogItem[]& CatalogItems)
       at Microsoft.ReportingServices.UI.FolderItems.LoadItems()
       at Microsoft.ReportingServices.UI.SortableItems.Control_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.AddedControl(Control control, Int32 index)
       at Microsoft.ReportingServices.UI.FolderContentsPageCtrl.Control_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.AddedControl(Control control, Int32 index)
       at Microsoft.ReportingServices.UI.SharedArea.Control_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Control.AddedControl(Control control, Int32 index)
       at Microsoft.ReportingServices.UI.FolderPage.Page_Init(Object sender, EventArgs e)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Page.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    library!ReportServer_0-2!160c!07/30/2012-05:17:31:: i INFO: Call to GetSystemPropertiesAction().
    ui!ReportManager_0-1!1e18!07/30/2012-05:17:32:: e ERROR: System.Threading.ThreadAbortException: Thread was being aborted.
       at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)

    Hello Manish,
    I am sorry for my delay.
    As we know, the service pack of SQL Server is free to download and install, and the latest SP for SQL server 2005 is SP4, so that Microsoft recommend that we migrate the service from SQL Server 2005 SP4 to SQL Server 2012. If you still want to upgrade the
    service from SSRS 2005 SP3, we cannot guarantee that all features can work properly, and we did not test it yet. Therefore, I still recommend you upgrade the SQL server 2005 to SP4 if possible.
    In addition, you can refer to the following article on MSDN to see whether it can meet your requirement. It is a general step to migrate the SSRS.
    http://msdn.microsoft.com/en-us/library/ms143747.aspx
    I hope it is helpful to you.
    Regards,
    Edward
    Edward Zhu
    TechNet Community Support

Maybe you are looking for

  • External disk not seen after sleep on Yosemite

    My sleep/wake issue on Yosemite affects the external disk (USB 3 connection) and the printer (HP 8600 all-in-one): On wake, after a long sleep, my iMac late 2012 shows an error message saying that the disk was not properly ejected and, in fact, the d

  • OG problem with displaying chart

    Greetings to all that read this. I have a chart created in Graphics Builder that is embedded into a form and run on the web. It contains 3 layers with 1 chart in each layer that will drill down according to the object clicked on each chart. It works

  • Disabling Maximize option from JFrame without disabling the resizing option

    Hi all, I want to know how we can disable the maximize option of a JFrame window without disabling the resizing option. I have tried JFrame.resizable(false). It disables both maximizing and resizable option. But I need the resizable option to be work

  • Free item in Cash Sale-BV

    Hi, I am trying to add a free of charge item in cash sale order (type BV). I have assigned the item category ZBNN(Copied from TANN since did not wanted to change any standard settings). Sale Doc type       Item cagr Group        Usage        High Lvl

  • Parallel End Users

    Hi All, I've mad an online voting application with some forms and reports and... . How many parallel end users can connect to an APEX application? Is there any limitation for number parallel users? Please answer me. Regards Edited by: Navid_G on Nov