【问题标题】:Incorrect number or types of arguments when calling a stored procedure in oracle using Robot Framework使用 Robot Framework 在 oracle 中调用存储过程时参数的数量或类型不正确
【发布时间】:2021-12-18 22:48:06
【问题描述】:

我刚开始使用 Robot Framework,但在调用 Oracle 数据库中的存储过程时遇到了一些问题。

我使用 DatabaseLibrary 作为我选择的库。

connect to database  x  x  x  x  x  x
@{ParamList} =  Create List  ${19}
Set Test Variable  ${SPName}  LOTS_2GT.Get_Scheduled_Lots
@{QueryResults} =  Call Stored Procedure  ${SPName}  ${ParamList}
Log  @{QueryResults}
disconnect from database

数据库中的过程有这个签名:

PROCEDURE Get_Scheduled_Lots(lineNum IN NUMBER, dataset OUT t_cursor);

我的 LOG.html 结果如下:

DatabaseError: ORA-06550: line 1, colom 7
PLS-00306: Wrong number or types of arguments in call to 'GET_SCHEDULED_LOTS'
PL/SQL: Statement ignored

现在据我了解DatabaseLibrary 的文档,关键字“调用存储过程”始终需要获取参数列表,即使您只有 1 并且返回值也始终是我正确处理的列表。

我错过了什么?

【问题讨论】:

    标签: python-3.x oracle robotframework


    【解决方案1】:

    尝试像这样在列表中声明输出(t_cursor):

    @{out_t_cursor}  Create List
    @{ParamList} =  Create List  ${19}  ${out_t_cursor}
    

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 2011-12-26
      • 2020-04-25
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      相关资源
      最近更新 更多