Sql server Crystal Reports使用SQL Server创建临时表

Sql server Crystal Reports使用SQL Server创建临时表,sql-server,tsql,crystal-reports,Sql Server,Tsql,Crystal Reports,我将Crystal Reports 2008与SQL Server 2014一起使用 我在网上看到,可以用Crystal Reports创建一个临时表。此链接表示,许多示例中的一个-> 但是,当我转到DatabaseExpert时,创建一个新命令并输入以下DDL CREATE TABLE #temp_test (col1 VARCHAR(5)) 我得到这个错误 翻译: 数据库连接器错误:“没有来自服务器的错误消息” 然而,当我在数据库中使用SQL Server进行此操作时,一切都很好 你做

我将Crystal Reports 2008与SQL Server 2014一起使用

我在网上看到,可以用Crystal Reports创建一个临时表。此链接表示,许多示例中的一个->

但是,当我转到DatabaseExpert时,创建一个新命令并输入以下DDL

 CREATE TABLE #temp_test (col1 VARCHAR(5))
我得到这个错误

翻译:

数据库连接器错误:“没有来自服务器的错误消息”

然而,当我在数据库中使用SQL Server进行此操作时,一切都很好

你做到了吗?如果是,如何进行

这听起来像是一个城市传奇,但我可能错了

欢呼

当您在Crystal中创建“命令”表时,您将向Crystal提供一组文本以发送到SQL server,Crystal希望得到一组数据作为回报。两者之间的所有操作都在SQL server上完成。Crystal通过在输入命令时将其发送到SQL server来检查该命令是否有效

因此,临时表实际上是在SQL server上创建的。此外,当您创建临时表时,它将在命令运行完成后被删除

因此,如果只使用此代码,SQL server将创建表,但没有要返回的数据集。它成功了,因此不会返回错误,也不会返回数据,因此会显示消息:“服务器没有错误消息”

对于下一步,我建议您使用如下代码:

CREATE TABLE #temp_test (col1 VARCHAR(5))
SELECT * FROM #temp_test
这将创建一个空数据集返回到Crystal,以便它得到所需的响应。我这样说是为了当你看不到任何东西的时候,你不会觉得有什么不对劲。您需要将数据插入临时表中,以便从select语句中获取数据以进行视觉确认


我还建议您不要使用临时表,除非您确定在命令的范围内使用或将实际需要临时表。例如,您可能需要一个临时表来提高特别复杂的查询或CTE的性能,因此使用临时表可能会提高性能。但我会先创建这个查询,并在至少开发了一些查询之后再考虑优化问题。

您是在crystal reports中还是在数据库中创建临时表?Hi@Siva,尝试在CRYou上执行此操作您是一个非常有知识的人。谢谢:)