Crystal Reports to SSRS Converter

The Crystal Reports to SSRS Converter reads Crystal Reports (.rpt) files using the Crystal Reports engine and generates equivalent Report Definition Language (.rdl) files compatible with SQL Server Reporting Services (SSRS) RDL and it can be displayed Bold Reports® components.

It supports both single-file and bulk files conversion, making it ideal for large-scale report migrations by preserving layouts, data connections, parameters, charts, formulas, and other supported report elements.


Prerequisites

Before starting the installation, ensure the following:

System Requirements

  • Operating System: Windows (64-bit recommended)
  • Crystal Reports Runtime is required to read and process .rpt files (download from SAP website)
  • .NET SDK 4.8 (download from .NET SDK 4.8)

Note: Confirm that Crystal Reports Runtime is installed and accessible from the system.


Download and install the converter

  1. A dedicated CrystalReportToSSRSConverter.exe has been created for the converter.
  2. Download the Crystal report utility from this site Crystal to SSRS utility.

Installation Procedure

  1. Extract the ZIP file to a desired location on your machine. <installation-directory>\CrystalReportToSSRSConverter\
  2. Find the CrystalReportToSSRSConverter.exe file.

Deployment Steps

  1. Open the converter installation directory C:\Windows\Microsoft.NET\assembly

  2. Find these locations to get the required Crystal Reports DLL files

    C:\Windows\Microsoft.NET\assembly\GAC_64
    C:\Windows\Microsoft.NET\assembly\GAC_MSIL
  3. Copy only the following Crystal Reports DLL files

    • CrystalDecisions.CrystalReports.Engine.dll
    • CrystalDecisions.ReportAppServer.ClientDoc.dll
    • CrystalDecisions.ReportAppServer.Controllers.dll
    • CrystalDecisions.ReportAppServer.DataDefModel.dll
    • CrystalDecisions.ReportAppServer.ReportDefModel.dll
    • CrystalDecisions.Shared.dll
  4. Move or replace those CrystalDecisions.* DLL files in the extracted location.

alt text


Run the application

Bulk conversion allows you to convert multiple .rpt files in a folder to .rdl format in a single operation.

Steps

  1. Prepare your input folder:

    • Create a folder containing all the Crystal Reports (.rpt) files you want to convert.
    • Example: C:\Reports\Input\ containing report1.rpt, report2.rpt, report3.rpt
  2. Create an output folder:

    • Create a destination folder where converted .rdl files will be saved.
    • Example: C:\Reports\Output\
    • The application will create this folder if it doesn’t exist.
  3. Run the converter:

    • Double-click CrystalReportToSSRSConverter.exe to launch the application.
    • A command window opens with prompts.
  4. Enter conversion paths:

    • Enter the source path (folder containing .rpt files):

      C:\Reports\Input\
    • Enter the destination path (folder for converted .rdl files):

      C:\Reports\Output\
    • Press Enter to start the conversion.

  5. Monitor conversion progress:

    • The console displays conversion status for each file.
    • Success or failure messages are shown for each report.
    • Conversion completes when all .rpt files have been processed.

alt text

Summary

  • Source Reports: Reports provided for migration.
  • Converted: Reports successfully converted.
  • Failed: Reports that could not be converted.
  • Success Rate: Percentage of reports converted successfully.
  • Warnings: Warnings found during conversion.
  • Limitations: Unsupported features that may require manual changes after conversion.
  • Errors: Critical issues encountered during migration.
  • Output Folder: Location of the converted reports.
  • Log File: Detailed record of the migration process and limitations.

Option 2: Single file conversion

Single file conversion is useful when you need to convert one specific Crystal Reports file to RDL format.

Steps

  1. Locate your Crystal Reports file:

    • Identify the .rpt file you want to convert.
    • Example: C:\Reports\SalesReport.rpt
  2. Determine the output location:

    • Decide where you want to save the converted .rdl file.
    • Example: C:\Reports\SalesReport.rdl
    • The folder must exist, or you can use the default ConvertedRdl folder.
  3. Run the converter (interactive mode):

    • Double-click CrystalReportToSSRSConverter.exe to launch the application.
    • A command window opens with prompts.
  4. Enter file paths:

    • Enter the source file path (the .rpt file):

      C:\Reports\SalesReport.rpt
    • Enter the destination file path (output .rdl file):

      C:\Reports\SalesReport.rdl
    • Press Enter to start the conversion.

  5. View conversion result:

    • The console displays the conversion status.
    • A success message indicates the .rdl file has been created.
    • A failure message shows any errors encountered during conversion.

Limitations

Before converting Crystal Reports (.rpt) files, review the documented conversion limitations. The Crystal Reports to SSRS Converter is a beta migration utility that automates the conversion of Crystal Reports (.rpt) files into SQL Server Reporting Services (SSRS) RDL (.rdl) reports by extracting report definitions, mapping supported Crystal Reports components to their RDL equivalents, and generating RDL files to reduce manual migration effort; however, unsupported or partially supported features may still require manual updates in the generated RDL report, especially for complex reports.


How migration works

Conversion pipeline

alt text


Supported conversions

The Crystal Reports to SSRS Converter successfully automates the conversion of the following Crystal Reports features:

Report structure

  • Report Sections: Header, footer, and detail sections are converted to their exact RDL equivalents. Group headers and footers are converted into RDL group sections.
  • Page Setup: Page dimensions, margins, and orientation are extracted and applied to the RDL report. A4 and default page sizes are supported.
  • Section Styling: Background colors and basic styling are preserved during conversion. Section properties are mapped to RDL section styles.

Data & connections

  • Data Sources (OLEDB & SQL): Supported connection types are converted and mapped to RDL data source definitions. Connection strings, server names, and database names are preserved.
  • Tables & Fields: Database tables and fields are recognized and converted. Default SELECT queries are generated for table-based data sources.
  • Data Sets: Crystal Reports tables are converted to RDL datasets with appropriate field definitions and query mappings.

Report objects & items

  • Text Objects: Static text boxes with formatting are converted to RDL TextBox items. Font, color, size, and alignment are preserved.
  • Field Objects: Data-bound fields are converted to RDL TextBox instances with database field expressions, maintaining format settings.
  • Field Headings: Column header labels are converted to RDL text boxes with appropriate styling.
  • Lines & Boxes: Crystal Reports line and box objects are converted to RDL Line and Rectangle with size, position, and style properties preserved.
  • Blob Fields: Binary data fields (e.g., database image columns) are converted to RDL image items.

Formulas & expressions

  • Formula fields: Textboxes containing basic expressions are converted to equivalent RDL expressions.

Charts & visualizations

  • Chart Objects: Crystal Reports charts are converted to RDL Graph items. Supported chart types include: column, pie, doughnut, line, area, and scatter.

Advanced features

  • Report Parameters: Crystal Reports parameters are converted based on type, visibility, and default values. Parameter definitions are mapped to RDL report parameters.

Layout & positioning

  • Item Sizing & Position: Report object dimensions (width, height) and positions (left, top) are preserved during conversion. Measurements are converted to inches for RDL compatibility.
  • Grouping: Crystal Reports grouping structures are converted to RDL group sections with data field bindings.

Conversion limitations

The converter maps Crystal Reports objects to their RDL equivalents as closely as possible. However, due to differences in the .NET model classes representing Crystal Reports objects and RDL capabilities, the following limitations apply:

Data connections & sources

  • Provider Specific Connection: Provider-specific connection properties are not preserved during conversion. Only OLEDB and ODBC connections are supported.
  • SQL Command Object: Crystal SQL Command objects are not preserved during conversion. The converter generates default SELECT statements for SQL data sources.
  • Unsupported Datasource Provider: Datasource providers other than OLE DB and ODBC are currently not supported during conversion.
  • Record Selection Formula: Crystal Reports record selection formulas are not converted to RDL dataset filters or query WHERE clauses. Manual reconfiguration of filtering logic may be required.
  • Database Links: Table relationships and database links defined in Crystal Reports are not converted. Relationships must be manually recreated in the RDL datasource.
  • Database Password: Database passwords are not migrated to RDL datasources for security reasons. Credentials must be reconfigured manually.

Parameters & values

  • Parameter Default Value: Parameter default values are not converted to RDL and need to be configured manually.
  • Parameter Range Values: Crystal Reports parameter range values and constraints are not converted to RDL parameter expressions.
  • Cross Dataset Label Value: RDL does not support multiple datasets for parameter label and value pairs. Single dataset parameters are supported.

Report layout & sections

  • Unsupported Paper Size: Body and page dimensions support only A4 and a default fallback size. Custom paper sizes are not converted.
  • Conditional Section Suppression: Section suppression settings and suppression formulas are not converted. Section visibility must be manually configured.
  • Keep Together Section: Section keep-together settings are not converted to RDL keep-together properties.
  • Underlay Following Sections: Crystal Reports underlay section behavior is not supported during conversion. Page layout must be manually adjusted.

Formatting & styling

  • Text Rotation: Text rotation settings (e.g., 90°, 270°) are not converted to RDL’s WritingMode property. Text orientation must be manually reconfigured.
  • Text Formatting Formula: Conditional text formatting formulas (e.g., “If value > 100 then red”) are not automatically converted to RDL expression-based formatting.
  • Hyperlink Action: Crystal Reports hyperlink formulas, drillthrough configurations, and bookmark expressions are not automatically converted to RDL Action properties.
  • Vertical Alignment: Line objects do not support vertical alignment conversion. Manual repositioning may be required in the generated RDL report to match the original layout.

Visualizations

  • Chart Formatting: Advanced Crystal Reports chart formatting and styling options are not fully converted. Default formatting is applied to converted charts.
  • Unsupported Chart Type: Other than column, pie, doughnut, line, area, and scatter chart types are not supported.
  • Chart Grouping: Chart-specific grouping and Top N settings are not converted. Chart grouping must be manually reconfigured.

Report objects

  • Embedded Picture Data: Embedded Crystal Reports picture content is not exported and is replaced with a placeholder image. Picture URLs or data sources must be manually linked.

Sub reports

  • Local Subreport Reference: Subreport conversion is supported only when the parent report and the referenced subreport are available through a local file path.
  • Parent Child Location Dependency: The parent report and its associated subreports must be located in the same directory or accessible local location during conversion. If the referenced subreport cannot be found, the subreport may not be converted correctly.

Grouping & sorting

  • Group Sorting Direction: Crystal Reports group sort direction and custom sort orders are not converted to RDL group expressions.
  • Group Condition Formula: Formula-based group conditions and conditional grouping are not converted. Grouping logic must be manually recreated.

Note: The Crystal Reports to SSRS Converter automates much of the migration process, but it does not guarantee a complete one-to-one conversion. Based on the report complexity, the Beta tool is currently capable of automatically converting approximately 50 to 60% of the report components. Some Crystal Reports features may be partially converted or require manual implementation. Always review and validate the generated RDL report to ensure that data, layout, formatting, and business logic behave as expected before move to production. As this is an early-access Beta release, your feedback is extremely valuable. We encourage you to test the converter with your reports and share any issues, observations, or enhancement requests through this support ticket.