【问题标题】:show database server name in crystal report在水晶报表中显示数据库服务器名称
【发布时间】:2013-06-01 00:15:39
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

    标签: sql-server-2008 crystal-reports


    【解决方案1】:

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

    【讨论】:

    • 但是当没有可用记录时查询什么也不返回
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        • 2019-03-20
        相关资源
        最近更新 更多