How to determine the database driver a report uses?

Hello experts.  I'm using Crystal Report XI R2 and C# (.net 4.0 runtime).
For a given report, I'd like programmatically determine what database driver(s) a report and it's sub-reports use.  The nice thing is that I don't want to change it.
When I refer to database drivers I'm talking about the choices one gets when starting a new report in the Crystal UI.  Something like the following:
Access/Excel (DAO)
ADO.NET (XML)
Database Files
ODBC (RDO)
OLE DB (ADO)
I've looked into the developers help file that came with Crystal XI R2, crsdk_net_doc.chm, and can't find any references that would help.  Maybe it's what I'm searching on.
My goal is for a given directory produce a list of rpt files that use OLE DB and a MS-SQL Server provider.
Thanks for looking at my question, any assistance is appreciated.
Mike

Also note since you are using 4.0 framework you must also be using VS 2010.
CR for VS 2010 is the only version supported with 4.0 framework.
See this page to download it: http://www.sdn.sap.com/irj/boc/crystalreports-dotnet
Or go back to VS 2008.
Code would look something like this:
     public class frmMain : System.Windows.Forms.Form
        CrystalDecisions.CrystalReports.Engine.ReportDocument rpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
        CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument rptClientDoc;
New subrepoutine...
            ISCDReportClientDocument rcd;
            rcd = rptClientDoc;
            CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo oldConninfo;
            CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo newConnInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
            CrystalDecisions.ReportAppServer.DataDefModel.Table oldTbl;
            CrystalDecisions.ReportAppServer.DataDefModel.CommandTable newTbl = new CommandTable();
            oldTbl = (CrystalDecisions.ReportAppServer.DataDefModel.Table)rcd.Database.Tables[0];
            oldConninfo = oldTbl.ConnectionInfo.Clone(true);
Thank you
Don

Similar Messages

  • How to determine the database size corresponding to the nber records in DSO

    Hi Colleagues,
    I would like to determine the database size corresponding to my new BI project.
    I know the number of records uploaded in the DSO from the source system for the intialization phase.
    How can I deduct the database size / disk size corresponding to the number of record uploaded ?
    Thanks,

    Hi Ram,
    I am with SAP BI Release SAPKW70019
    I do not have the option Single Table analysis -
    I have in DB02 or ST04 the following options.
    *- Space*
    -- space overview
    ->database
    --overview
    ->users
    --overview
    --detailed analysis
    -> tablespaces
    --overview
    --detailed analysis
    -> segments
    --overview
    --Detailed analysis
    --Detailed Analysis Aggregated
    -> Additional Functions
    --Collector Logs
    --BW Analysis
    Where should I go through ?
    Thanks

  • How to determine the Support Team from Reported-by?

    Hi All,
    We need to determine the support team based on reported-by.
    I have concluded it is only possible by customization of developing ZBADI from these threads:
    Re: How to determine the Support Team from the Reported by?
    Automatic determination support team based on own specs?
    Re: Route tickets based on Message creaters's location
    So we have created ztable which has relation between SAP component, Reported-by and Support Team.
    Now i need to develope a ZBADI  and assign to the action definition SLFN0001_ADVANCED_FIND_PARTNER(i hope).
    Can anyone help me out with the piece of code. Because i don't which FMs to be called for read and update the support desk message.
    Note: Action definition SLFN0001_ADVANCED_FIND_PARTNER uses method call Z_CRM_DNO_PARTNER_1(which is a copy of CRM_DNO_PARTNER_1 and applied some correction as per note: 1041455).
    Thanks in advance.
    Regards
    Sanjai

    closing this thread.

  • How to change the database in Crystal reports

    To give an overview there is one project going on where the oracle database is getting migrated from 10g to 11g.
    All the details of database like IP, port etc are changing as part of this.
    I can see the driver name configured as crdb_ado (Custom driver).
    We have an test environment for 11g against which we have to point all the reports and test it.
    Could you please let me know the below queries
    Where and how to change the IP details in the crystal reports to point to new test and prod databases.
    Overview on this crdb_ado driver
      Basically the database is getting changed and we want the reports to point and run from the new database.
    Thanks

    Hi Vissu,
    Thanks for your reply.
    We need to change the database from the reports which are already running from central management console.
    I can see a custom driver crdb_ado is being used and it connects to a database.
    Could you please let me know where the database configuration is done.
    Ideally we need to add one more database to a config file which i am not able to find.
    I guess it should be similar to tnsnames.ora file in oracle where the different databases are stored.
    From the above image I would like to know where the server details (NECTAR_Prod) would be configured.
    Thanks in advance

  • How to get the Database Driver list

    Hi... I want to know that particular database driver is registered or not in windows.. how can i get this info.
    And I want to get the list of all the database drivers registered in windows..
    Can anybody help me..

    dcminter wrote:
    Well, seeing as how none of them are registered, until your program registers them, simply keep a list.That's not actually true. If the JAR is in the classpath then a JDBC4 driver will use the service provider hooks to register itself.
    When first loaded. Which is unlikely to happen until you explicitly load it.
    Being on the classpath doesn't mean the JVM will actually do anything with a class. Either an application will have to initiate some action or it will have to be initiated by the manifest of the jar (and I'm not sure that will actually do anything until a class from that jar is actually required to be loaded).

  • How to determine the database mirroring role via Powershell?

    Is there a way to determine the current mirroring role of a database via Powershell without the use of t-sql?
    With the Microsoft.SqlServer.Management.Smo namespace and database class I can determine the status, witness and partner of the mirrored database, but I can't determine the mirroring role of the current database. I basically want to get the same result
    as the following t-sql query in powershell without using t-sql:
    SELECT m.mirroring_role_desc 
    FROM   sys.database_mirroring m JOIN sys.databases d
    ON     m.database_id = d.database_id
    WHERE  d.name = 'databasename'
    I find it very strange that there is no class property to check for this, while it is an important property of the database. Of course I can use the output of this query in my powershell script for further processing, but I still hope that there is a property
    where I can get this information.
    TheSultan8

    Just to let you know, I've already found it. Here is a part of the code that I use for checking each mirrored database what mirroring role it has:
    $sqlconnection="MYLAPTOP\SQL2008R2"
    $smo = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $sqlconnection
    $mirroreddbs=$smo.Databases | where {$_.IsMirroringEnabled -eq "True"}
    $sqlversionmajor=$smo.VersionMajor
    foreach ($database in $mirroreddbs)
    # Versions lower than SQL 2008 can't query a database in recovery mode
    if ($sqlversionmajor -ge 10) 
    $dbrolevalue=$database.DatabaseOptions.Properties | where {$_.Name -eq "MirroringRole"}
    $dbrole=$dbrolevalue.Value
    One catch though, this only works on SQL 2008 and higher version.
    TheSultan8

  • How to call the Database views in  Reports?

    Hai experts,
                        i created one Database view in data dictionary for that how to call the that in my program?
                        are we write the select quries on views.
                         plz help me.
    thanks in adv.

    thanks for ur reply.
    how to maintain data in maintance  view . is it possible write the select query on that . I know it most be relate with forgien key.
    plz help.
    thanks in adv.

  • How To Control the Langauge of BI Reports (Using Excel 2013, oData, and Project Server Online 2013)

    Although I buried and posted the following question indirectly in a recent post, I would like to do so here to try and elevate it in the hope that I can get an answer.
    It is in regards to creating reports using Excel 2103 to querry Project Server 2013 Online using oData.  I would like to be able to control the langauge of my reports that I create for others to view.
    Just creating and then saving the Report and Data Connections in a language directory does not seem to drive or determine the language of the report.  A colleague of mine over here is using the same directories as I am, and his turn
    out to be French like his environment.  Mine, even though I save the files in same the French directories, display in English. 
    Any ideas on how I can create reports so that they display in another language, eg., French when using Excel to create reports?  I know that we can set the language in an internet browser to control the language that the result is returned, for instance,
    when querying https://.../pwa/_api/ProjectData/$metadata
    \Spiro Theopoulos PMP, MCITP. Montreal, QC (Canada)

    Correction!  Thanks to Doug Welsby of Microsoft and some our other MS friends who worked behind the scenes to correct/ assist me on this, I got the right answer after all... the difference between, example a French oData command/ statement,
    and an English one is the inclusion of the square brackets with the language abbreviation/ code e.g., "[Fr..]" in the oData connection string/ statement.  For further reference, see the connection files provided by Microsoft in the Reports and
    compare the syntax for the same report/ different language.  There is where you will see what and how Excel is able to differentiate/ control what language that the report result will return.
    \Spiro Theopoulos PMP, MCITP. Montreal, QC (Canada)

  • How to determine the fixed width I can use to generate html columns in java

    I have a jsp where I dynamically generate menus for a web page.
    Table's cells are generated with different width, making the menus look differently.
    When clicking on menus, cells changing sizes.
    What is the best way to implement that, so I have a fixed width for every column?
    Thank you

    That's what I do.
    The code determines the width of the column now.
    The only drawback is that I manually assign values to the width depending on the menu item length.
    Is there any way how to do it dynamically, by determining how many px width will be by having the menu item lenght?
    <TABLE cellspacing=0 cellpadding=0 border=0 width="100%">
                   <!--<TR>-->
                        <!--<td width="251"><img src="images/Menu1L.gif" width="8" height="25"></td>-->
                   <%
                        int gs = menu.getSelectedGroupNum();
                        MenuGroup menuGroup = menu.getMenuGroup(gs);
                        int is = menu.getSelectedItemNum();
                        int maxScr = 10; //10 screens buttons per line
                        int totScr = menuGroup.getSize(); //total number of screens for the selected menu
                        int rowsNum = 0;
                        rowsNum = (int)Math.ceil((double)totScr/maxScr);
                        System.out.println("Num of scr per line: " + maxScr +
                                                 " Num of scr/menu: " + totScr +
                                                 " Num of rows: " + rowsNum);
                   for(int     screenRow = 0; screenRow < rowsNum; screenRow ++){
                        //for (int item = 0; item < menuGroup.getSize(); item++)%>
                   <tr><td>
                        <table border="0" cellspacing="0" cellpadding="0" height="20">
                         <tr>
                           <td width="251"><img src="images/Menu1L.gif" width="8" height="25">
                        <%
                        for(int item = screenRow*maxScr; item < (screenRow + 1)*maxScr && item < totScr; item ++)
                             MenuItem menuItem = menuGroup.getMenuItem(item);
                             String title = menuItem.getDisplay();
                             String link = null;
                             String cssClass = null;
                             System.out.println(title + ":" + title.length());
                             if(!menu.isDisabled())
                                  link = "<A href=\"Menu.do?top=" + gs + "&side=" + item + "\">";
                             %>
                             <%
                             else{
                                  link = "";
                                  title = "<i>" + title + "</i>";
                             MenuItem subMenuItem = null;
                             boolean isSubMenu = menuItem.containsSubMenuItem();
                             String subText = null;
                             //determine the width of the column
                             int width = 0;
                             if(title.length() > 5 && title.length()<20)
                                  width = 158;
                             if(title.length() > 20)
                                  width = 193;
                             if(title.length() <=5)
                                  width = 60;
                             if (is == item){
                                  //link = "<A href=\"Menu.do?top=" + gs + "&side=" + item + "\">";
                                  cssClass = "ScreenItemSel A";
                             else
                                  cssClass = "ScreenItem";
                             %>
                             <TD align = "center" nowrap class = "<%= cssClass%>"  background ="images/Menu1F.gif" width="<%=width%>"> <%=link%><%=title%></TD>
                             <TD class="Screen" nowrap><img src="images/Menu1Sep.gif" height=25 width=16></TD>
                        <%                         
                        }%>
                                  <TD width="100%" valign=top align=right class="ScreenName" background="images/Menu1F.gif"><%--<%=mode%>--%></TD>
                                  <TD><IMG src="images/Menu1R.gif" width="8" height="25"></TD>
                             </td>
                        </tr>
                        </table>
                   </td>
                   </tr>
                   <%}
                   %>
                   <!--</TR>-->
    </TABLE>

  • How to determine the JDK version required to use a jar?

    Hi all.
    I am using a hosted server that uses JDK 1.4.2 and I cannot upgrade the VM. I have been finding it extremely difficult to install web applications on this server since I find that after installing the app, the web server complains the bytecode used in the jar is newer than the VM can understand (or it complains that the app uses JEE servlet or JSP methods it cannot find).
    To compound the problem, only about 25% of the sites I've visited that provide jars for download mention the minumum JDK version required to use them. (Some do not mention any system requirements at all besides 'requires Java and a Java application server').
    Do any of you know of any tools that can analyze a jar and determine the bytecode version it uses?
    (Another helpful tool would be one that can determine the minimum JEE APIs required to run a web app..., but that's probably wishful thinking :)).
    Thanks for your help.
    Michael N. Christoff

    The major/minor version of the class file is the way to go.
    Also, it's not necessary to write a separate program to get to those. javap prints them out when being passed the -v flag.
    Note, however that "JDK version" is not a correct term, as I can create 1.4-compatible class files with a Java 6 JDK (by passing the -target flag to javac). Those won't look any different than .class files written with a 1.4 JDK.

  • How to freeze the columns in Classical reports using vertical scroll

    Hi All,
    I am facing one problem that when i am scrolling down the page in the report     output ,the columns in the report are moving upward.I want to freeze those columns . Please give me the solution for to freeze the columns in classical report when i scroll vertically.
    With Regards,
    R.P.Sastry

    Put ur colum headers in TOP-OF-PAGE Event.
    this will sole ur problem.
    reward if useful.
    Regards,
    Vimal

  • How to determine the complexity of OBIEE report?

    Hi BI Gurus,
    We are currently planning to do OBIEE 11g upgrade. To do impact analysis, we have been asked to come with the complexity of all the reports which are now in OBIEE 10.1.3.4.2. I came up with the following points.
    1) No. of tables used in the report - More no. of tables means more joins leading to complexity
    2) Usage of Complex joins in physical layer
    3) Complex calculations used in BMM layer
    4) Usage of pivot tables, charts, guided navigation in the reports
    Pls let me know if these are valid criteria to determine complexity. Pls add if anything else can be considered. Thanks in advance!

    Hi,
    Check data volume as well, as this is also impact your report performance.
    If you are looking data model as well, then check table structure whether partioned, indexed etc.
    Thanks

  • How to find the database used in the Hyperion reports

    Hi All,
    Can we know the database that has been used for creating a Hyperion Report. I have a BQY file , I want to know whether it was created using a Oracle connection or SQL Server or any other Database. Can we find this information from the BQY file? Please let me know if its possible
    Thanks

    Using OCE file you can find data source details.
    Providing additional information about Creating a connection and configuring the connectivity for Hyperion BI+ Interactive Reporting
    There are two options (ODBC, Oracle*Net):
    ODBC
    Create ODBC connection using MERANT OEM 5.2 32-BIT Oracle Wire Protocol (in Microsoft Windows that would be in Control Panel > Administrative Tools > Data Sources (ODBC) > System DSN tab; in Unix .odbc.ini file)
    Create an OCE file (with the same name as the intended Hostname/Provider to be assigned in LSC below) on Microsoft Windows using Interactive Reporting Studio (File menu > New... > A New Database Connection File > OK button) using ODBC/ODBC or ODBC/Oracle as "What connection software do you want to use?"/"What type of database do you want to connect to?"
    Launch Hyperion > Reporting and Analysis > Utilities and Administration > Service Configurator > Local Service Configurator and double click on DAS.
    Create a new data source using ODBC/ODBC (or ODBC/Oracle) as  Connectivity Type/ Database Type; "Select the name of the data source:".
    Restart Services.
    Import this OCE file in workspace to be available as a data source for BQY files.
    ORACLE*NET (SQL*NET)
    Install Oracle database client software on machine with DAS server and machine with IR Studio; Ensure tnsnames.ora file points to database to be queried.
    Create an OCE file on Microsoft Windows using Interactive Reporting Studio (File menu > New... > A New Database Connection File > OK button) using Oracle Net/Oracle as "What connection software do you want to use?"/"What type of database do you want to connect to?"
    Launch Hyperion > Reporting and Analysis > Utilities and Administration > Service Configurator > Local Service Configurator and double click on DAS.
    Create a new data source using Oracle Net/Oracle as Connectivity Type/ Database Type; "Select the name of the data source:".
    Restart Services.
    Import this OCE file in workspace to be available as a data source for BQY files.
    Hope this information helps.
    regards,
    Harish.

  • Personnel numbers skipped by the database driver

    Hi,
    we are having 1 report which is using logical database PNP
    this is being shown in ALV
    when the user runs the report the output is shown and after pressing BACK button the below lines are being shown
    Personnel numbers skipped by the database driver
    Reason 1: insufficient authorization, no. skipped personnel nos.:
    this is being done by logical databse program SAPDBPNP
    is there any way to supress this mesasge
    thanking you in advance
    regards

    May be you need
    call your ALV in event
    END-OF-SELECTION instead of in START-OF-SELECTION
    otherwise
    Use fm
    call function 'LDB_PROCESS'
    instead of using PNB in attributes of the program.
    Please check the demo program DEMO_LOGICAL_DATABASE for how to use fm LDB_PROCESS thru call function.

  • RPCWCCK0 - Personnel Number Skipped by the Database Driver

    Hi Experts,
    I've encountered the error below when executed the report.
    03/18/2011       Workers' Compensation Assessable Earnings Report              1
    Personnel numbers skipped by the database driver
    Reason 1: insufficient authorization, no. skipped personnel nos.:
        49,067
    I've read in the forum that structural authorization should be checked.
    Personnel numbers skipped by the database driver
    How is this done?
    Thanks in advance
    Rare

    This is not necessary structural authorization, but normal HR P_ORGIN auhorization. Check if you have access to view HR data (by just going into PA20 to view infotypes for an employee, and use tcode SU53 to view authorization check detail if it fails) .

Maybe you are looking for