Skip to Content
0
Jun 25, 2020 at 05:55 PM

How to resolve "Failed To Load Database Information" on Client Machine?

2108 Views Last edit Jul 06, 2020 at 03:12 PM 2 rev

  • I am using Visual Studio 2019 and Crystal Reports Runtime 13_0_27 version. The runtime versions (Both 32 bits and 64 bits) are installed on another machine and the crdb_fielddef.dll is also there as it was recommended in one of the online answers. The access to reading the database is also given on that system.
  • After trying the number of methods, the problem is same - Whole project runs on my machine but in another machine where it is supposed to run, there all the pages show the records but when trying to show the print preview using the crystal reports, it shows the error - "Failed to load the Database Information".

  • The working logic of the project is that - When we want to print the information about the specific record, the selected index number gets captured and transferred to another form(.vb) where the data is fetched from the SQL Server database and stored in the empty table in a seperate new dataset inside the project. the crystal report then get those records stored in the table in the dataset and displays the records.

    I have checked the datasource location from the "Database Expert" and it is the same location as needed.

    • My code inside the form is as follows -

      Imports CrystalDecisions.CrystalReports.Engine

      Public Class ChemLabGradePrint

      Public Sub New(ByVal GradeIndex1 As Integer)

      InitializeComponent()

      Dim ff As New PourChemistryDataset.PourChemistryDataTable

      Dim result As PourChemistrReportList

      Dim SMin As String

      Dim RMin As String

      Dim RMax As String

      Dim c As Integer result = New PourChemistrReportList(ReaderF(GetPourChemistryReport(GradeIndex1)))

      For c = 0 To result.ElementName.Count - 1

      If IsNumeric(result.SpecMin(c)) AndAlso CDbl(result.SpecMin(c)) <> 0 Then

      SMin = result.SpecMin(c)

      Else

      SMin = ""

      End If

      If IsNumeric(result.RestrMin(c)) AndAlso CDbl(result.RestrMin(c)) <> 0 Then

      RMin = result.RestrMin(c)

      Else

      RMin = ""

      End If

      If IsNumeric(result.RestrMax(c)) AndAlso CDbl(result.RestrMax(c)) <> 0 Then

      RMax = result.RestrMax(c)

      Else

      RMax = ""

      End If

      '// Storing the records in empty table(manually built) in a PourChemistryDataTable table

      ff.Rows.Add(result.ElementName(c),

      SMin, result.SpecMax(c), RMin, RMax, result.Pref(c),

      result.Bckp(c), result.Comments(c))

      Next

      '------- Report

      Dim RDoc As New ReportDocument

      RDoc.Load(CrystalReportViewer1.ReportSource)

      RDoc.SetDataSource(DirectCast(ff, DataTable))

      RDoc.SetParameterValue("METGrade", result.MetCode(0))

      '// "METGrade" is the Parameter Field in the crystal report.rpt file

      RDoc.SetParameterValue("GradeName", result.GradeName(0))

      CrystalReportViewer1.ReportSource = RDoc

      End Sub

      End Class

      Then, the Crystal Report is set to the datasource location which is PourChemistryDataTable table and the data is displayed to the report.

      All this process works well on my system but do not run in another system. The same Runtime Versions are installed and the read access is also given to access the .mdf file of SQL Server. The sql source of the project is set to automatic to get the sqlserver and the database information.

      The CrystalReportViewer1.ReportSource in the Designer.vb is = >

      Me.CrystalReportViewer1.ReportSource = "P:\ASW-Core-Shop_New\ASW-Core-1.1\Reports\ChemLabGradeReport.rpt"

      It is set manually because it gives the error that "can not convert report.reportSource to String" so it is set to file location manually. The file location where the project is stored can be accessed to any computer within the factory because the drive is accessible to everyone. So, the file location for reportSource is accessible to everyone's system.

  • Please HELP me to resolve the issue and I can't find where is the problem. I have tried number of online solutions before posting here but none worked in my case.