【发布时间】:2018-09-13 20:13:41
【问题描述】:
我有一个带有输入参数的 Java 函数(HashMap >String, String> header, String url)
我想在 PL/SQL 中使用 Java 函数。
我读到PL/SQL兼容的类型是关联数组。
但我花了很多时间却找不到解决方案。
我创建了一个包来调用 java 函数,因为 PL/SQL 中的函数不能使用关联数组。
所以:
包裹:
create or replace PACKAGE SOLICITUDES_HTTP AS
TYPE map_varchar2 IS TABLE OF VARCHAR2(255) INDEX BY VARCHAR2(255);
Function Solicitud_Http_get (header IN map_varchar2,
url IN VARCHAR2) return VARCHAR2;
END SOLICITUDES_HTTP;
编译确定
包体:
create or replace PACKAGE BODY SOLICITUDES_HTTP AS
Function Solicitud_Http_get (header IN map_varchar2,
url IN VARCHAR2)
RETURN VARCHAR2
IS LANGUAGE JAVA
NAME 'HTTP_Request.sendGet(java.util.HashMap,java.Lang.String) return java.lang.String';
END SOLICITUDES_HTTP;
编译失败
Error(17,30): PLS-00999: restricción de implantación (puede ser temporal) INDEX TABLE BY CHAR/VARCHAR2 parameters are disallowed
谁能帮帮我?
谢谢
【问题讨论】:
-
错误很清楚。它说你不能使用关联数组。尝试使用嵌套表。
-
但我希望在 Java 中使用类似 HashMap
的类型