Development environment has Windows 7 VS2010 with Crystal Service pack 2 (just upgraded). The web application is .Net 3.5 32bit. The production environment is windows 2003 - IIS6.0. The target database is SQL Server express 2008 .
On the page load, the database logon info is applied. Session variable is used for persistence. This is working fine on the development side. On the Production side, the report cannot be loaded and it prompts for the parameters with the logon info. The logon info has been applied to the tables in the report dynamically.
I have upgraded to the latest service pack in the hope to fix this issue. Also the Cancel button on the parameter window does not show on development or production. I downloaded the modules utility to check the difference in the loaded dll's and found out that
CRYSTALDECISIONS.REPORTAPPSERVER.PROMPTING.dll gets loaded on development but does not get loaded on production.... Help please!
You are getting prompted for the logon info because it was not able to logon to the database with the information you provided. I suspect that the database driver may not be installed.
CRYSTALDECISIONS.REPORTAPPSERVER.PROMPTING.dll is only used for the parameter prompting, it is not related to the database logon info.
Also, one issue per thread please.
The window asking for logon info had the title of "Enter Values"... so I thought it is related to the parameter values. The database driver used is Sql native Client and I see that it is installed. The asp.net application is using the native client and the same connection string to connect to the sqlexpress. Any other way to check that the driver that Crystal is looking for is there?
I had the merge module for Crystal Reports for VS 2010 service pack 2 in the setup for deployment and deployed that. Today, I have also installed the Crystal Reports Runtime for VS 2010 sr2 on the server as well. That did not make a difference.
The report does not connect to the sqlserver. I have tried giving all the different combination of logon info, but it just refreshes the logon window only. What do you mean by targetting .Net framework 4.0? The deployment is on Windows 2003 server with IIS 6.0... so I can only support .Net3.5.
The crystal reports are developed using Crystal Reports 2008 ... I can try to install the complete crystal 2008 on the deployment server to see if the report will run locally? I do not want to try this installation but If you think might be worth a try... I can.
Thanks for the effort.
Is it possible for you to take a screenshot of the logon screen you are seeing and post that to a third party image host and provide the link to that so we can see what prompt page you are seeing.
Also, can you go into the report designer and go to set datasource information and check what provider the connection is using.
The image of the window is
The Properies from the Set DataSource in the designer are
Database Type: OLE DB (ADO)
Data Source: .\SQLExpress
That would be why.... Microsoft doesn't support the MDAC version of the SQL Client. Set your reports to use the SQL Native 10 driver. In the properties you'll see it referenced as SQLNCLI10.dll
Then it should all work for you.
It also means you have to install the SQL 2008 Client Tools which you can download from Microsoft.
Yes, You are right about the SQL Server Native Client Driver. The 32 bit driver was installed on the deployment machine ( Windows 2003 server 32 bit with SQL Server 32 bit ).
But the development machine is window 7 64 bit with 64 bit sql server. On the development machine the driver is SQLNCLI10 installed but Crystal Reports is refrencing SQLNCLI even if the SQL Server Native CLient 10 is selected. I am not sure why it is doing that. Any ideas??
Current status is that after installing Crystal Reports 2008 on deployment machine, changed the driver to SQLNCLi10.dll, the reports are working.
But reports cannot be deployed directly from development machine to deployment machine... the driver needs to be changed on the deployment server. The SQLNCLI10 (64bit) is present on the devlopment machine. Do I need to install the 32bit version of the SQL Server Native Client 10. Any ideas about this?
Thanks a lot for the help.
Correct... If your app is a 32 bit app then you need the 32 bit client to be installed.
Search here, I believe you can have both but they have to be install in the right order so CR finds the 32 bit version, I think 32 was installed last.
It finds the SQL MDAC client dll because MS installs MDAC on all OS's.
I checked the ODBC Adminstrator on the development to see whether SQLNCLI10.1 is installed. The driver was already installed. On the development environment, in the crystal reports designed, under the properties of the driver, I was able to edit and change the value to SQLNCLI10.1 from SQLNCLI. Moved the report to the production and it worked as it is.
But the Crystal Report designer keeps on changing the driver... How can you tell crystal not to do that?
Edited by: deemal on Mar 7, 2012 8:10 PM
You can't simply edit the file name in the report, you have to update the ODBC DSN and then in CR Designer use the Set Location and select the DSN with the new driver 10. Actually CR Designer should indicate it's using crdb_odbc.dll and not the Native 10 driver if the reports were created off ODBC. If the file name is there it indicates those reports were create off the OLE DB Provider.
Fix you reports first then it should work.