1

我正在尝试使用 LSXLC(ODBC 连接器)连接到 Oracle RDB 数据库。但是当涉及到存储过程时,我很难让它工作。下面的代码总是导致“错误:未提供参数名称:fnl_date,连接器'odbc2',方法-Call-”。错误是在“count = connection.Call(input, 1, result)”上触发的,谁能告诉我我做错了什么?

Public Function testLsxlcProc()
    On Error GoTo handleError

    Dim connection As LCConnection("odbc2")
    connection.Server = "source"                                
    connection.Userid = "userid"                                      
    connection.Password = "password"
    connection.procedure = "proc_name"
    connection.Connect

    If connection.IsConnected Then
        Dim input As New LCFieldList()
        Dim result As New LCFieldList()

        Dim break As LCField
        Set break = input.Append("fnl_date", LCTYPE_TEXT)
        break.Text = "2014-07-01"
        Dim agrNo As LCField
        Set agrNo = input.Append("fnl_agreement_no", LCTYPE_TEXT)
        agrNo.Text = "123456"
        Dim curr As LCField
        Set curr = input.Append("fnl_currency_code", LCTYPE_TEXT)
        curr.Text = "SEK"
        Dim stock As LCField
        Set stock = input.Append("fnl_stock_id", LCTYPE_TEXT)
        stock.Text = "01"

        connection.Fieldnames = "status, value"
        Dim count As Integer
        count = connection.Call(input, 1, result)
        Call logger.debug("Count: " & count)
    Else
        Error 2000, "Unable to connect to database."
    End If

handleExit:
    connection.Disconnect
Exit Function
handleError:
    On Error Resume Next
    Call logger.error(Nothing)
    Resume handleExit
End Function

提前致谢!

4

2 回答 2

0

我犯了一个愚蠢的错误,Domino 中的输入参数名称与存储过程中的输入参数名称不匹配。确保所有名称都匹配并且不应该有问题。

于 2014-07-14T07:40:02.350 回答
0

存储过程“mylib.MyStoredProc”wird aufgerufen ... LcSession.Status = 12325:LC 错误:errCallStoredProc 12325(错误:未提供参数名称:P_S651_AC,连接器 'odbc2',方法 -Call-)

解决方案:将“mylib”改为“MYLIB”,一切正常。

不仅要检查参数名称,还要检查搜索路径。

于 2017-12-19T08:55:30.930 回答