首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试qbo3语句

调试qbo3语句
EN

Stack Overflow用户
提问于 2022-10-20 17:53:38
回答 1查看 13关注 0票数 -1

我有一个qbo3语句,它会导致一个错误。当我调用该语句时,我被路由到一个错误页面,该页面不包含足够的信息来帮助我确定问题的根源。

qbo3是否包含帮助调试语句的任何工具?

EN

回答 1

Stack Overflow用户

发布于 2022-10-20 17:53:38

自定义语句中创建的qbo3可以从模板>报表> 特设报告中调试。

您可以使用此工具迭代测试和修复您正在设计的任何语句。

在下面的屏幕快照中,为测试设置了语句Foreclosure/B2BDataStore

注意:

  • ModuleForeclosure
  • QueryBasic
  • Base StatementB2BDataStore
  • Payload包含要传递给该语句的任何参数的查询字符串。

Results面板中,我们可以看到server报告的错误,包括:

代码语言:javascript
复制
Msg 209, Level 16, Line 20
Ambiguous column name 'ProcessID'.
...
Msg 207, Level 16, Line 238
Invalid column name 'ProcessProcessTemplateID'.

若要查看正在处理的实际SQL,请选中Debug Statement复选框。qbo3将生成SQL并将其显示在结果面板中,而不是执行语句的SQL。

在这种情况下,罪魁祸首是:

代码语言:javascript
复制
SELECT ...
  ProcessID,
  ...
FROM Bankruptcy
  INNER JOIN Process ON Process.ProcessID = Bankruptcy.ProcessID
WHERE Process.UpdatedDate >= @FromDate

由于Bankruptcy表和Process表都包含ProcessID列,正确的语法将是澄清要返回哪个表的ProcessID

代码语言:javascript
复制
SELECT ...
  Process.ProcessID,
  ...
FROM Bankruptcy
  INNER JOIN Process ON Process.ProcessID = Bankruptcy.ProcessID
WHERE Process.UpdatedDate >= @FromDate

第二个错误似乎只是一个错误:

代码语言:javascript
复制
ProcessProcessTemplateID

应该是

代码语言:javascript
复制
Process.ProcessTemplateID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74144299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档