Failed to load database information error - crystal report in c# with SQL Server

My code works fine and the report opens  When excute code from visual studio but when  I try to open the same report after installation or on  another machine, I get this error.
Failed to load database information. Error in File temp_92bf354f-8e8f-4bb8-adc9-3699bf6fef86 996_4916_{76EC69A0-4A21-4077-89D4-12F6242DFCEF}.rpt: Failed to load database information.

System.Runtime.InteropServices.COMException: Failed to load database information. Error in File temp_92bf354f-8e8f-4bb8-adc9-3699bf6fef86 996_4916_{76EC69A0-4A21-4077-89D4-12F6242DFCEF}.rpt: Failed to load database information.

I'm using Visual Studio 2013 with SQL Server 2012 and Crystal Report v3_0_16. My PC runs Windows 10 64 bit. I've opened it on a 64-bit machine and 32-bit machine, but both get the same error.
note : I have installed crystal report runtime 64 bit and 32 bit but still same issue .
 How do I solve this?
naseem iebowAsked:
Who is Participating?
 
naseem iebowConnect With a Mentor Author Commented:
the problem solved by copy the configuration file in same installation folder .
thanks all for help
0
 
vastoCommented:
What kind of connection do you use ? If it is ODBC you need to create a DSN on the other machine. If it is not ODBC then you probably miss a driver on the other machine. What is your database ?
0
 
naseem iebowAuthor Commented:
the database is on same machine and i use the following code :
 print_store_counts_dataset ds = new print_store_counts_dataset();
cmd.CommandText = "select rec_items.id,items.iname,items_count.count,item_code from items inner join items_count on items.code=items_count.item_code  inner join rec_items on items_count.rec_num=rec_items.id where isclose=0 ";
            con.Open();
            SqlCommand cmd_details = new SqlCommand("", con);
            SqlDataReader reader = cmd.ExecuteReader();
       int i = 0;
   
                while (reader.Read())
                {
                    cmd_details.CommandText = "select sum(count) from bills_details where    reciver_number=@rn and item_code=@ic ";
                    cmd_details.Parameters.Clear();
                    cmd_details.Parameters.AddWithValue("@rn", reader["id"].ToString());
                    cmd_details.Parameters.AddWithValue("@ic", reader["item_code"].ToString());
                    int payed = 0;
                    object res = cmd_details.ExecuteScalar();

                    if (res.GetType() != typeof(DBNull))
                    {

                        payed = Convert.ToInt32(cmd_details.ExecuteScalar());
                    }

                    /*if (cmd_details.ExecuteScalar() !=null)
                        payed = Convert.ToInt32(cmd_details.ExecuteScalar());*/
                    /*
                    ds.Tables["store_counts"].Rows.Add();
                   
                    ds.Tables["store_counts"].Rows[i].SetField("rec_num", reader["id"].ToString());
                    ds.Tables["store_counts"].Rows[i].SetField("item_name", reader["iname"].ToString());
                    ds.Tables["store_counts"].Rows[i].SetField("item_code", reader["item_code"].ToString());
                    ds.Tables["store_counts"].Rows[i].SetField("count_sup", reader["count"].ToString());
                    ds.Tables["store_counts"].Rows[i].SetField("count_pay", payed);
                    ds.Tables["store_counts"].Rows[i].SetField("count_remain", Convert.ToInt32(reader["count"]) - payed);
                    
                    i++;*/

                    
                }

print_store_counts_reports cr = new print_store_counts_reports();
cr.SetDataSource(ds);
            
            cr.Refresh();
            crystalReportViewer1.ReportSource = cr;
           
            crystalReportViewer1.Refresh();

Open in new window

0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
PortletPaulfreelancerCommented:
Im guessing here but this catches my eye:

con.Open();

What connection is it opening? Have you defined what,or importantly, where, the data source is?
0
 
naseem iebowAuthor Commented:
As i mentioned this code work fine when excute in visual but when deploy ans install it on machine didnot work.
Before this lines i define connection and connection string and the connection open correctly
0
 
PortletPaulfreelancerCommented:
Failed to load database information is stated in the error message so the problem is in those comnection details I  think.
0
 
naseem iebowAuthor Commented:
yes maybe the problem in connection but how i can solve it ??
0
 
Éric MoreauSenior .Net ConsultantCommented:
have you tried to encapsulate your code in a try ... catch structure and look at the exception? you might find other indices to help you find the issue.

I would also surround disposable objects (dataset, connection, command, ...) with using {} to ensure you are closing your objects: https://msdn.microsoft.com/en-us/library/yh598w02.aspx?f=255&MSPPError=-2147217396
0
 
vastoCommented:
I don't think the error is coming from the code above. Do you have a subreport ? If you do, the error is coming from the subreports because you are setting the main report datasource , but the subreport is still trying to connect. If you don't have a subreport then the SetDataSource is not working and the report is still trying to connect using the internal database connection
0
 
naseem iebowAuthor Commented:
i use try .. catch but there is no errors , and as i noticed the error come when using the application interrupted when execute this command cr.SetDataSource(ds);
i wasn't use sub reports and if setDataSource is not working so what the solution ?
0
 
vastoCommented:
You are declaring the dataset ds , but it was never filled with data. The code , which supposed to load data is commented. print_store_counts_dataset is a strongly typed dataset and there might be some connection associated with it in design time. Check what this connection is doing
0
 
naseem iebowAuthor Commented:
Dear Vasto ,
the code that filled data set is commented temporary because i make some test but this error appears also when put it not commented .
about dataset "print_store_counts_dataset " there is no connection in design page because as you see from above code in this dataset I create data table and filled this data table from this code .
thanks
0
 
vastoCommented:
then , try to pass the table and not the whole dataset

cr.SetDataSource( ds.Tables["store_counts"]);
0
 
naseem iebowAuthor Commented:
Unfortunately , same issue :(
0
 
naseem iebowAuthor Commented:
because my solution repair the issue by coping configuration file to same installation folder
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.