如何设置从 Crystal 报告中的查询中删除数据库名称?

How do I set remove the database name from the query in Crystal Reports?

我们是一家开发公司,将 Crystal Reports 2013 集成到我们的软件中。我需要能够从 Crystal 报告生成的 SQL 查询中删除数据库名称。我们有客户 运行 使用同一数据服务器的我们软件的多个实例。所以我们需要删除数据库名称,以便在连接时使用我们在 file.dsn 中指定的数据库进行 ODBC 连接。我们使用 SQL 服务器作为我们的数据源。任何帮助将不胜感激。

Crystal 报告使用该查询生成报告的架构,您可以在软件代码中更改连接或更改查询,但架构应该相同,

perhaps you are not setting the connection of report by code successfully, you have to set the parameters and change the connection inside the code which loads the report if you do this successfully then you'll see the report.

这取决于您如何使用 Crystal(此答案可能适用于您的情况,也可能不适用于您的情况)。如果您正在使用 .Net 对象(在 VB 或 C# 中)并针对它们进行编程,您可以通过编程方式切换连接信息。您执行此操作的顺序很挑剔(例如,您需要更改报告和所有子报告中的连接等)。

我有两篇博文,其中包含 VB 和 C#,它们解决了通过代码动态更改 database/connection 的问题,它们已经有几年历史了,但它们应该仍然适用:

附带说明一下,如果您不喜欢 Crystal 报告生成的 SQL,您可以随时使用 "Command" 输入您自己的 SQL然后 Crystal 对待它有点像 table(或者您可以使用它生成的 SQL 开始并根据自己的喜好更改它,复制它,更改它,然后创建一个命令)。