【问题标题】:Sybase - Setting console output on for printing log statementsSybase - 设置控制台输出以打印日志语句
【发布时间】:2012-10-26 11:14:22
【问题描述】:

有人知道如何在 Sybase 中打开控制台输出吗?像print 'Hello' 这样的常用语句对我不起作用,它只是说命令执行成功而没有打印日志语句。

【问题讨论】:

  • 嗨,我在寻找类似问题的解决方案时发现了这个问题。我正在使用 Sybase Interactive SQL 工具,为了打印消息,我必须将 print 'foo bar' 替换为 message 'foo bar' type status to client。我不知道这是否是您要问的,所以我将其作为评论发布。

标签: sql printing console sybase output


【解决方案1】:

您是否在 sybase 中使用 Interactive SQL?或者您是否使用 -nogui 选项调用 dbisqlc 并将其传递给 SQL 文件以使其运行?

'message' 方法仅适用于交互模式。

我也在尝试解决这个问题,但据我所知,控制台输出似乎不起作用。我尝试使用“选择”语句,例如:

SELECT "This is my message";

它似乎有效,但对我的口味来说有点太老套了。

请让我知道这是否可行/你想出了更好的办法:)

~会

【讨论】:

  • 如果你正在尝试这个技巧,请切换到单引号,因为双引号不起作用。
  • 不幸的是,dbisql 似乎忽略了每个文件中第一条语句之后的任何其他内容,因此这实际上并不适用。
  • 我必须澄清我的最后一条评论:这是可能的,但您必须首先设置dbisql 以返回所有带有SET OPTION ISQL_PRINT_RESULT_SET='ALL'; 的结果集,如wiki.scn.sap.com/wiki/display/SQLANY/… 所示(默认为LAST) .然后它就像你描述的那样工作。
【解决方案2】:

这取决于您的设置。如果您使用的是 SQL Anywhere,如果您是 connected from an embedded SQL or ODBC applicationPRINT 'Hello'不会写入客户端窗口。但是,打印的消息将在 Server Messages in Sybase Central 中可见。

在你的情况下,你可能需要@toniedzwiedz 提到的MESSAGE 'Hello' type status to client

【讨论】:

    【解决方案3】:
    DECLARE @var1 INT, @var2 INT
    SELECT @var1 = 3, @var2 = 5
    PRINT 'Variable 1 = %1!, Variable 2 = %2!', @var1, @var2
    

    【讨论】:

    • 不是和print 'Hello'一样,不适合OP吗?
    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 2021-08-04
    • 2018-12-12
    • 2015-08-22
    • 2016-12-20
    • 1970-01-01
    • 2023-04-01
    • 2013-08-13
    相关资源
    最近更新 更多