Link to home
Start Free TrialLog in
Avatar of Geoff Sutton
Geoff SuttonFlag for Canada

asked on

Error when trying to use Crystal Reports Viewer in ASP.NET

When trying to view a Crystal Reports report (.rpt) file through a web page using the Crystal Reports Viewer control it keeps giving me the error that crdb_p2bxbse.dll could not be found or loaded.  That DLL was not found on my server, even though Visual Studio 2008 is installed.  I have extracted the DLL from the Crystal Reports CAB files and placed it in System32, Windows, and also tried the bin folder for my web app.  Same error message each time.

For the page I have only placed the viewer control on the page, and set the report source property in the code behind.  As you can see I have left this page as simple as possible.  Is there more that I need to do to make this work?  

Thanks for help.
<body>
    <form id="form1" runat="server">
    <div>
        <CR:CrystalReportViewer ID="rptView" runat="server" AutoDataBind="true" />
    </div>
    </form>
</body>
</html>
 
 
using System;
using System.Data;
using System.Data.SqlClient;
 
public partial class REPORTS_Metro_report : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string report = Request["rptID"];
                SqlConnection con = Utilities.getConnection("Lansa_ConnectionString");
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandType = CommandType.Text;
 
        cmd.CommandText="SELECT reportName from tblReports WHERE id=" + report;
        string name="";
        con.Open();
        name=cmd.ExecuteScalar().ToString();
        con.Close();
 
        if (name.Length>0){
            rptView.ReportSource="files/" + name;
//            rptView.ReportSource=Server.MapPath("files/" + name);
        } 
    }
}

Open in new window

Avatar of Geoff Sutton
Geoff Sutton
Flag of Canada image

ASKER

Here is the complete error message:

Failed to load database information. Details: The database DLL 'crdb_p2bxbse.dll' could not be loaded. Error in File C:\WINDOWS\TEMP\ME2P_Placements {217DC300-A637-4C9B-BFCE-634327230F1A}.rpt: Failed to load database information.

Avatar of Mike McCracken
Mike McCracken

Did you register the database driver?

mlmcc
Which database driver?  I know nothign about crystal reports, so I am going to assume "no, I did not"
 How would I go about doing this?  I tried regsvr32 crdb_p2bxbse.dll but it told me it could not be registered.
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I searched the entire system.  That driver is not found.  Did some further digging, and have installed the XI .NET server onthe system, still no results.  Just figured out that the database files need to be in the same folder and am copying them now.  Hoping that will help.  I will install the FULL XI server next if this fails and recreate the reports there.

Geoff
Ok.  I managed to install the driver with the XI server install.  The file is now in C:\Program Files (x86)\Common Files\Business Objects\3.0\bin.  When I tried regsvr32 C:\Program Files (x86)\Common Files\Business Objects\3.0\bin\crdb_p2bxbse.dll I receive the message "C:\Program Files (x86)\Common Files\Business Objects\3.0\bin\crdb_p2bxbse.dll was loaded, but the DllRegisterServer entry point wasnot found. This filecan not be registered."

Do I have to register it with the ASP.NET application?  If not, where should I go from here?

Thanks for the help on this one.

Geoff
Ok.  I've managed a partial solution.  It appears that until these reports are recreated on this machine, the best I can do is work through the previous webserver which had a viewer in place and was pointing to another system with the reports.  I am going to try and cut out the middleman, but the problem isn't crystal reports or the server or even .NET.  It seems the problem is my lack of understanding on how CR operates.  

Thanks for the help which pointed me in the right direction.  I'll give you the points because frankly, they don't do me any good and your help kept me plugging at it.

Thanks again.