Issue description
When trying to preview, print, email or generate pdf documents from within SAP Business One with coresuite designer, the layout is not generated, instead the message "Database logon failed" is displayed and this might lead to a crash.
This error happens randomly as not always the connection to the SQL server fails.
Search terms
Crystal Reports, preview, print, email, pdf, print definition, layout definition, database, logon, failed, crash, CR.
Solution
As this error is due to a drop or an unsuccessful connection to the SQL server the only workaround that can be provided is to review or change the connection settings used in the Crystal Report file in order to improve the communication between coresuite, Crystal Reports and SQL Server.
This may be due to the fact that the .rpt file is setup with an SAP Business One datasource connection type. To solve the issue, you may:
- Replace the SAP Business One datasource connection from the .rpt file with an XML export (ADO .NET XML) from coresuite designer
- Replace the SAP Business One datasource connection from the .rpt file with an OLE DB (ADO) connection.
Connection update:
Inside Crystal go to: Database – Set Datasource location and follow the next steps:
1) Select the current connection of your report
2) Select the connection that will replace the original connection
3) Press Update
4) Depending on the type of connection selected
- ADO.NET (XML) – Select the xml which contains the datasource. The default datasource for coresuite will be ..\dataschema.xml
- OLE DB (ADO) – Select SQL Native Client as your connection, press next, input the correct credentials and press Finish.
5) A warning message might be displayed that some of the tables were not found in the new datasource.
In case this warning message appears the fields and tables will need to be added again to the report.
- In case of OLE DB (ADO) in Database – Database expert. It might be necessary to redesign the report using now the data out of the new datasource.
- In case of ADO.NET (XML) it is possible to pass all the required information as queries inside the layout definition.
Please review the coresuite country package manual (http://helpfiles.coresystems.ch/help/country_package/manual/en/index.html) for further details.
Comments
0 comments
Article is closed for comments.