naseem iebow
asked on
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-ad c9-3699bf6 fef86 996_4916_{76EC69A0-4A21-40 77-89D4-12 F6242DFCEF }.rpt: Failed to load database information.
System.Runtime.InteropServ ices.COMEx ception: Failed to load database information. Error in File temp_92bf354f-8e8f-4bb8-ad c9-3699bf6 fef86 996_4916_{76EC69A0-4A21-40 77-89D4-12 F6242DFCEF }.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?
Failed to load database information. Error in File temp_92bf354f-8e8f-4bb8-ad
System.Runtime.InteropServ
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?
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 ?
ASKER
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();
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?
con.Open();
What connection is it opening? Have you defined what,or importantly, where, the data source is?
ASKER
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
Before this lines i define connection and connection string and the connection open correctly
Failed to load database information is stated in the error message so the problem is in those comnection details I think.
ASKER
yes maybe the problem in connection but how i can solve it ??
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
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
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
ASKER
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 ?
i wasn't use sub reports and if setDataSource is not working so what the solution ?
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
ASKER
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_datase t " 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
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_datase
thanks
then , try to pass the table and not the whole dataset
cr.SetDataSource( ds.Tables["store_counts"]) ;
cr.SetDataSource( ds.Tables["store_counts"])
ASKER
Unfortunately , same issue :(
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
because my solution repair the issue by coping configuration file to same installation folder