Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 访问ibm mobilefirst中存储的进程时出错_Oracle_Ibm Mobilefirst_Mobilefirst Adapters - Fatal编程技术网

Oracle 访问ibm mobilefirst中存储的进程时出错

Oracle 访问ibm mobilefirst中存储的进程时出错,oracle,ibm-mobilefirst,mobilefirst-adapters,Oracle,Ibm Mobilefirst,Mobilefirst Adapters,我正在尝试使用包中编写的存储过程,但无法访问: 运行时:无法使用过程检索数据: XXMOB\u登录\u AN.LOGIN\u中华人民共和国 在适配器JS中: function procedure2(p_usrname,p_password) { return WL.Server.invokeSQLStoredProcedure({ procedure : "XXMOB_LOGIN_AN.login_prc", parameters : [] });

我正在尝试使用包中编写的存储过程,但无法访问:

运行时:无法使用过程检索数据: XXMOB\u登录\u AN.LOGIN\u中华人民共和国

在适配器JS中:

function procedure2(p_usrname,p_password) {
    return WL.Server.invokeSQLStoredProcedure({
        procedure : "XXMOB_LOGIN_AN.login_prc",
        parameters : []
    });
}
程序如下:

create or replace PACKAGE XXMOB_LOGIN_AN AUTHID CURRENT_USER AS
 Procedure login_prc (
      p_usrname        IN       VARCHAR2,
      p_password       IN       VARCHAR2,
      p_person_id      OUT      VARCHAR2,
      p_groups_id      OUT      VARCHAR2,
      p_person_login   OUT      VARCHAR2,
      p_person_role    OUT      VARCHAR2,
      p_user_id        OUT      VARCHAR2,
      p_welcome        OUT      VARCHAR2,
      p_return         OUT      VARCHAR2,
      P_return_message out      varchar2

   );
END XXMOB_LOGIN_AN; 
在适配器XML中:

<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter name="strprc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:wl="http://www.ibm.com/mfp/integration"
    xmlns:sql="http://www.ibm.com/mfp/integration/sql">

    <displayName>strprc</displayName>
    <description>strprc</description>
    <connectivity>
        <connectionPolicy xsi:type="sql:SQLConnectionPolicy">
            <!-- Example for using a JNDI data source, replace with actual data source name -->
            <!-- <dataSourceJNDIName>java:/data-source-jndi-name</dataSourceJNDIName> -->

            <!-- Example for using MySQL connector, do not forget to put the MySQL connector library in the project's lib folder -->
            <dataSourceDefinition>
                <driverClass>oracle.jdbc.driver.OracleDriver</driverClass>
                <url>jdbc:oracle:thin:@</url>
                <user>***</user>
                <password>***</password> 
            </dataSourceDefinition>
        </connectionPolicy>
    </connectivity>

    <!-- Replace this with appropriate procedures -->
    <procedure name="procedure2"/>
</wl:adapter>

STRPC
STRPC
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@
***
*** 

如注释中所述,Worklight不支持SQL适配器中的
out
参数。见这个问题:


我链接到您的问题还包含一个答案,如果您希望尝试它(基本上,覆盖Worklight并用Java代码实现它),它提供了一个详细的解决方法。

在浏览器的预览中运行您的应用程序,chrome devtools控制台打开-当过程调用失败时,您会看到什么错误?(您可能需要刷新屏幕)我最初正在测试后端适配器,因此我没有编写任何客户端代码,因此它可能是您尝试连接到的后端的地址。是的,我正在尝试连接后端数据库,而且连接中也没有问题,因为之前我处理过正常的sql查询。它工作得很好。我正在尝试使用存储的sql过程从适配器连接到数据库。这可能是相关的吗?不支持“输出”: