0

任何人都知道如何在水晶报表上显示数据库服务器名称。 我正在使用水晶报表 X,存储过程作为水晶报表的数据源。

如果您使用视图,那么您可以使用SQL 表达式字段来显示服务器名称,选择 SERVERPROPERTY('servername') 选择 @@SERVERNAME

但是我们如何使用存储过程来做到这一点(因为 SQL 表达式字段在水晶报表的这个数据源中不可用)

提前致谢。

4

3 回答 3

0

我通过在报告中添加额外的命令数据源来完成它。如果您在报告中使用 SP 作为数据源,我认为这是唯一可行的方法。

于 2013-06-11T11:49:58.987 回答
0

如果您只是尝试通过存储过程传递数据库名称,以便它在 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 表达式的方式的方式。

于 2013-06-05T13:03:27.563 回答
0

我知道这篇文章很旧,但是当我以前查看时无法在任何地方找到答案。

使用以下 SQL 添加要报告的命令:

select sys_context('userenv','db_name') from dual

不要将其链接到现有表中的任何内容

于 2018-10-29T20:43:00.617 回答