cancel
Showing results for 
Search instead for 
Did you mean: 

Failed to load database information

Former Member
0 Kudos

Hi all,

I wonder if someone can help me,  I am sitting with a problem where when i load a report in 32bit it loads fine but when i change my target platform to 64bit it gives me this error:

Failed to load database information.

Error in File xxxx {25FF4AB2-7F1E-4D06-A330-B1A978B1F276}.rpt

Failed to load database information.

I am using the following:

C# WinForms (VS2012) .NET Framework 4.5

Win 7 64bit

CRVS SP5 (13.0.5).

With ODBC connections

I don't understand why it works on 32bit platform and when i change it to 64bit platform it doesn't work.  From the error i thought the database login is not passed through but when i debug it makes a connection to my database but does not display the report.

I have tried to google the problem and read all the threads on this forum to try find a solution.

I have also reinstalled .NET 4.5 and CRVS but that did not help me.

I hope that someone can help me

Regards

Tiaan

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Tiaan.

What database server are you using?

Maybe your connection middleware (database client) is 32bit and you need a 64bit version of it to run your application.

Remember that when you use a library you should match the library architecture with your app architecture (i.e. 32bit and 64bit code can't be mixed).

Hope this helps.

Former Member
0 Kudos

Hi Fernando

I have a Sybase ASE (Adaptive Server Enterprise) database connection in my ODBC Data Source Administrator.  I have checked the driver of this connection and i think you where right and it is 32bit. 

So i went and asked my companies IT to install the 64bit Sybase drivers for me and then followed this links instructions http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc20116.1550/html/aseodbc/C...

The sybdrvodb64.dll version is 15.5.0.1000

So i have made sure that the drivers i use are 64bit and when i test the connection it tells me its successful.

I am not sure if this is the information that you where looking for.

The program i use to view our database is DbVisualizer 8.0.10 (but according to me this doesnt need to be 64bit as my application doesn't use this to make the connection)

Please let me know if i am miss understanding your questions

Regards

Tiaan

Message was edited by: Tiaan Pat

0 Kudos

Great,

Now VS IDE runs in 32 bit mode so you can't really test 64 build. Create the build by setting the CPU to x64 and then Release mode.

Run the executable now from Explorer or create a short cut to it. Right click on it and Select Run As Administrator.

Then use Process Monitor to to see if it can find and access the Client. Old Days we required the Client to be in the PATH statement, may want to add it if it's not there, and make sure it's the first in line if you have a 32 bit client also.

Don

Former Member
0 Kudos

Hi Don,

I have set everything to 64bit in my application and to Release mode from Debug.

I run my application and it works fine until i get to the loading of the report part.

When you say i must use Process Monitor is that in Task Manager? If not i don't understand what you want me to do.

I just have one more question.  I have set everything to 64bit and my ODBC connection is also 64bit, now when i run my application and log into it, i access my database. Surely if the ODBC connection wasn't working it wouldn't make the connection.  I have also noticed under crystal reports win64_x64 there is no dot net dll's for the report viewer.  Is it not maybe the fact that the viewer itself is 32bit and thus the reason its not working?

Regards

Tiaan

0 Kudos

Go to Microsoft and download Process Monitor.

As for the 64 bit viewer, not sure where we hid it, could in the windows\assembly folder or could simply be we use the 32 bit version and THUNK it to 64 bits...

Search for this kbase article:

1553469 - How to enable Database logging in Crystal Reports for Visual Studio 2010

It will tell you what is happening also.

Don

Former Member
0 Kudos

Hi Don,

Thank you for your reply.  I downloaded Process Monitor and it gives me a lot of data.  I am not exactly sure what to look for but what i can make out of that large amount of data it gives me is that in 64bit it fails to load a lot of dll's that i dont see when running the application in 32bit.

I also followed the kbase article you gave me but its still not working. Logging is enabled and working.

Other thing that i notice is that it does make a connection to the database and it is using the 64bit drivers.

It seems to fail because of the dll's that it cant find.  I am not sure what to do now. I have the 64bit drivers for ODBC connection and confirmed that i am using them, i can confirm that i am making a successful connection to my database through the ODBC connection.

With all of that confirmed i still dont know why its failing to load the report.

I also looked for the dll's under windows/assembly but cant find anything.

Any suggestions with regards to the 64bit viewer and dll's would be appreciated.

These dll's fail in both 32bit and 64bit so i doubt they have anything to do with it:

  • cxlib-5-0.dll
  • smtestcomponent.DLL
  • smagentfunccomponent.DLL
  • smservercomponent.DLL
  • smisprotectedcomponent.DLL
  • smloginlogoutcomponent.DLL
  • smisauthorizedcomponent.DLL
  • smtunnelcomponent.DLL
  • smjavaapicomponent.DLL
  • smdirectorycomponent.DLL
  • smodbccomponent.DLL
  • smldapcomponent.DLL
  • smagentframeworkcomponent.DLL
  • smwebagentcomponent.DLL
  • smxlatecomponent.DLL
  • smsamlagentcomponent.DLL
  • smhttpagentcomponent.DLL
  • smaffiliateagentcomponent.DLL
  • smimscomponent.DLL
  • txmcomponent.DLL
  • smproxyagentcomponent.DLL
  • smfedclientcomponent.DLL
  • smxlatecomponent.DLL

These fail in 64bit

  • crpe32ENU.dll
  • crpe32LOC.dll
  • jvmmanager.dll
  • CRConfig.xml

  

C:\Windows\Microsoft.Net\assembly\GAC_64\CrystalDecisions.CrystalReports.Engine.resources\v4.0_13.0.2000.0_en-ZA_692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.resources.dll

but it loads this dll

C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine.resources\13.0.2000.0_en_692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.resources.dll

not sure if its the same dll

C:\Windows\Microsoft.Net\assembly\GAC_64\CrystalDecisions.ReportAppServer.XmlSerialize\v4.0_13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.XmlSerialize.dll

but then loads this

C:\Windows\assembly\GAC_64\CrystalDecisions.ReportAppServer.XmlSerialize\13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.XmlSerialize.dll

and these in 32bit

  • smagentconmgrcomponent.DLL
  • smfedservercomponent.DLL

C:\Windows\Microsoft.Net\assembly\GAC_32\CrystalDecisions.CrystalReports.Engine.resources\v4.0_13.0.2000.0_en-ZA_692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.resources.dll

but it loads this dll

C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine.resources\13.0.2000.0_en_692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.resources.dll

C:\Windows\Microsoft.Net\assembly\GAC_32\CrystalDecisions.ReportAppServer.XmlSerialize\v4.0_13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.XmlSerialize.dll

but then loads this

C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.XmlSerialize\13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.XmlSerialize.dll

I really hopes this helps!!!

Regards

Tiaan

0 Kudos

Hi Tiaan,

These belonog to us:

  • cxlib-5-0.dll
  • crpe32ENU.dll
  • crpe32LOC.dll
  • jvmmanager.dll
  • CRConfig.xml

The other ones I don't know, you can right click on them and look at the properties.

Are you using XML as your data source through crdb_xml.dll? If so this could be the problem, we don't have a 64 bit version of that driver.

jvmmanager is required for the XML driver and the Parameter prompts, it should be a 64 bit version though. May simply be you are missing CRConfig.xml in your Release folder also.

Don

Former Member
0 Kudos

Hi Don

I have searched my computer and i don't have the crdb_xml.dll and also i don't have the CRConfig.xml it seems like they didn't come with the installation.

I do pass Parameter Fields after i load my reports.  So if i understand what you are saying then the problem is there?

Where would i get these dll's that i am missing?  Is there and older installation that has these?

Also is there any plans in the future releases to ensure that the jvmmanager.dll is 64bit?

Regards

Tiaan

0 Kudos

So does this mean you are using that driver in your report? If you are not then you don't need it.

Enable crlogger, search kbase for the article, it should tell you why it's failing.

Former Member
0 Kudos

Hi Don

I followed the kbase article and everything is setup but i don't get a log file.

I am using Visual Studio 2012, is there something different i must do?

Regards

Tiaan

Former Member
0 Kudos

I just did a test with regards to the parameters, on 64bit when i don't insert the parameters with code, i get a popup that asks for them and only after i enter the data do i get the error.

With regards to what you said earlier about the jvmmanager.dll, i think my problem is there and that it is not 64bit.

Thats the only thing that i can think of being the difference between 32 and 64.

Regards

Tiaan

0 Kudos

Did you just configure the Environment Variables? The dll should be there, do you have a crlogger.dll in the \x64 folder?

C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64

Don

Former Member
0 Kudos

Hi Don,

I seem to have not received an email with your reply....

I followed the instructions here: http://search.sap.com/notes?id=0001553469&boj=/sap/bc/bsp/spn/scn_bosap/notes.do?access=69765F6D6F64...

Environment Variables are setup as suggested and i do have the crlogger.dll in that folder but i am not sure why its not making logs.

I still think my problem is in the jvmmanager.dll that does not support 64bit.  But for now i am working on 32bit until a 64bit jvmmanager.dll gets released.

Regards

Tiaan

Answers (2)

Answers (2)

Former Member
0 Kudos

I think there's a bug in the CR 64-bit runtime but what I found out was that I can actually use the 32-bit runtime instead on a 64-bit machine.  To get around this issue, install the 32-bit runtime and set your Target CPU to x86 specifically.  If for IIS, there's also a tricky setting located in application pool.  You must open the application pool your virtual app or website is set to and choose Advanced Settings...  In here is an option to Enable 32-Bit Applications; set it to True.  Hope this helps!

Former Member
0 Kudos

Hi Tony,

Thank you for your message, i am already forcing my application to run on 32bit.  I am trying to get this to work in 64bit runtime, but it seems a little difficult to pin point exactly whats wrong. I am sure its the jvmmanager.dll that is not 64bit compatible.

0 Kudos

The reason it fails is because there are 2 ODBC Administrators, 32 and 64 bit.

If you had searched you would have found 100's of posting regarding this info.

Create your DSN in the c:\windows\system32\odbcad32.exe and then it should work.

Also requires the 64 bit DB Client to be installed.

Don

Former Member
0 Kudos

Hi Don

I am aware that there are 2 different types of ODBC Administrators and i am using the 64bit connection as you are suggesting.

When you say i must have the 64 bit DB client installed are you referring to the application i am using to open my Database to view?

I explained in detail to Fernando what i have done.

Not sure what i am missing.

Regards

Tiaan