【发布时间】:2019-09-20 10:57:49
【问题描述】:
我正在使用带有 Sybase ASE 数据库的 powerbuilder。我在从应用程序进行更新时调用存储过程,但在存储过程中出现错误。我想在存储过程中放一些打印语句来检查错误是什么。如何查看此打印语句的输出?如何记录存储过程?
提前致谢 沙米莎
【问题讨论】:
我正在使用带有 Sybase ASE 数据库的 powerbuilder。我在从应用程序进行更新时调用存储过程,但在存储过程中出现错误。我想在存储过程中放一些打印语句来检查错误是什么。如何查看此打印语句的输出?如何记录存储过程?
提前致谢 沙米莎
【问题讨论】:
这些打印语句没有日志,它们不被视为结果集的一部分。它们与 Sybase ASE 错误消息位于同一通道中。
它们应该返回给PowerBuilder,在SQLCA中,sqlerrortext是字段。
这不是我用来调试存储过程的方式。我发现捕获传递给存储过程的参数并使用 Sybase 的 ISQL 命令行工具而不是 Java GUI 来查看错误消息更容易。
【讨论】:
您可以使用返回状态码的函数。在函数内添加“ON EXCEPTION RESUME”子句并将全局变量@@error 返回到您的应用程序。
【讨论】:
使用自定义错误记录过程将数据存储在日志表中,并在执行期间或之后从中读取错误。
或者,您可以尝试在过程中使用 PRINT 语句,看看是否可以将标准输出输出到 PB。
【讨论】:
谢谢大家,我在powerbuilder中添加了一些日志来检查我的问题。
【讨论】: