我有一个qbo3语句,它会导致一个错误。当我调用该语句时,我被路由到一个错误页面,该页面不包含足够的信息来帮助我确定问题的根源。
qbo3是否包含帮助调试语句的任何工具?
发布于 2022-10-20 17:53:38
在自定义语句中创建的qbo3可以从模板>报表> 特设报告中调试。
您可以使用此工具迭代测试和修复您正在设计的任何语句。
在下面的屏幕快照中,为测试设置了语句Foreclosure/B2BDataStore:

注意:
Module是ForeclosureQuery是BasicBase Statement是B2BDataStorePayload包含要传递给该语句的任何参数的查询字符串。在Results面板中,我们可以看到server报告的错误,包括:
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。
在这种情况下,罪魁祸首是:
SELECT ...
ProcessID,
...
FROM Bankruptcy
INNER JOIN Process ON Process.ProcessID = Bankruptcy.ProcessID
WHERE Process.UpdatedDate >= @FromDate由于Bankruptcy表和Process表都包含ProcessID列,正确的语法将是澄清要返回哪个表的ProcessID:
SELECT ...
Process.ProcessID,
...
FROM Bankruptcy
INNER JOIN Process ON Process.ProcessID = Bankruptcy.ProcessID
WHERE Process.UpdatedDate >= @FromDate第二个错误似乎只是一个错误:
ProcessProcessTemplateID应该是
Process.ProcessTemplateIDhttps://stackoverflow.com/questions/74144299
复制相似问题