【问题标题】:Crystal Reports creating temporary table with SQL ServerCrystal Reports 使用 SQL Server 创建临时表
【发布时间】:2016-02-19 00:50:28
【问题描述】:

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

我在互联网上读到可以使用 Crystal Reports 创建一个临时表。这个链接说,许多例子之一 -> Click here

但是当我去数据库专家时,创建一个新命令并输入以下 DDL

 CREATE TABLE #temp_test (col1 VARCHAR(5))

我收到此错误

翻译:

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

然而,当我在我的数据库上使用 SQL Server 时,一切都很好。

你做到了吗?如果是,怎么做?

对我来说这听起来像是一个都市传说,但我可能错了......

干杯

【问题讨论】:

  • 您是在水晶报表还是数据库中创建临时表?
  • 嗨@Siva,试图在 CR 上这样做

标签: sql-server tsql crystal-reports


【解决方案1】:

当您在 Crystal 中创建“命令”表时,您将向 Crystal 提供一组文本以发送到 SQL 服务器,而 Crystal 期望得到一个数据集作为回报。两者之间的一切都在 SQL 服务器上完成。 Crystal 会在您输入命令时将其发送到 SQL 服务器来检查它是否有效。

鉴于此,您的临时表实际上是在 SQL 服务器上创建的。另外,当你创建一个临时表时,它会在命令运行完成后被删除。

因此,如果仅使用此代码,SQL Server 将创建表,但没有要返回的数据集。它成功了,所以不返回错误,也不返回数据,因此消息:“没有来自服务器的错误消息”。

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

CREATE TABLE #temp_test (col1 VARCHAR(5))
SELECT * FROM #temp_test

这将创建一个空数据集以返回给 Crystal,以便获得所需的响应。我这样说是为了当你什么都看不到的时候,你不会觉得有什么不对。您需要将数据插入到临时表中,以便从 select 语句中获取数据以进行视觉确认。

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

【讨论】:

  • 你知识渊博。谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多