任何人都知道如何在水晶报表上显示数据库服务器名称。 我正在使用水晶报表 X,存储过程作为水晶报表的数据源。
如果您使用视图,那么您可以使用SQL 表达式字段来显示服务器名称,选择 SERVERPROPERTY('servername') 选择 @@SERVERNAME
但是我们如何使用存储过程来做到这一点(因为 SQL 表达式字段在水晶报表的这个数据源中不可用)。
提前致谢。
任何人都知道如何在水晶报表上显示数据库服务器名称。 我正在使用水晶报表 X,存储过程作为水晶报表的数据源。
如果您使用视图,那么您可以使用SQL 表达式字段来显示服务器名称,选择 SERVERPROPERTY('servername') 选择 @@SERVERNAME
但是我们如何使用存储过程来做到这一点(因为 SQL 表达式字段在水晶报表的这个数据源中不可用)。
提前致谢。
我通过在报告中添加额外的命令数据源来完成它。如果您在报告中使用 SP 作为数据源,我认为这是唯一可行的方法。
如果您只是尝试通过存储过程传递数据库名称,以便它在 Crystal Reports 中可用,您可以通过声明变量并将其添加到 Select Query 中来做到这一点,就像这样。
Alter PROCEDURE SelectSomeRecords
AS
BEGIN
SET NOCOUNT ON;
Declare @DatabaseName varchar(25)
Set @DatabaseName = (SELECT DB_NAME())
Select top 10 LastName
, FirstName
, @DatabaseName as DatabaseName
from Customers
END
GO
这可能是一种 hack 方式,但我还没有找到一种类似于使用 SQL 表达式的方式的方式。
我知道这篇文章很旧,但是当我以前查看时无法在任何地方找到答案。
使用以下 SQL 添加要报告的命令:
select sys_context('userenv','db_name') from dual
不要将其链接到现有表中的任何内容