java - 将字节数组作为参数传递给oracle中的存储过程

标签 java oracle stored-procedures arrays

我有函数,需要将其作为存储过程放入 Oracle 数据库(我使用 11g)中。假设这个函数如下所示:

public static BLOB useByteArray(byte[] byteArray){
    //do something with this byte array, return BLOB with something
}

那么包装函数应该是什么样子呢?我知道这会是围绕这个的事情

CREATE OR REPLACE FUNCTION USE_BYTE_ARRAY(byteArray ???) RETURN BLOB IS
 LANGUAGE JAVA NAME 'com.example.something.useByteArray(byte[]???)';

但我不知道如何在包装器和java函数之间传递这个字节数组。也许,用 Base64 对其进行编码,作为字符串传递,然后在 useByteArray 方法中进行编码?

提前致谢:)

最佳答案

我想你可以使用OracleTypes.BLOB从 Java 应用程序传递数据,您可以在存储过程中使用 blob 数据类型使用它。

关于java - 将字节数组作为参数传递给oracle中的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32064938/

相关文章:

java - 如何强制设置 Java (.jar) 应用程序窗口的大小?

mysql - 关系模型与数据库产品

sql - 如何在 PL/SQL 中使用循环多次运行相同的查询?

javascript - 修复确定符之间字符串最后一次出现的正则表达式

oracle - 我可以在 PL/SQL 中返回一个函数吗?

java - ListView 中的视频 View

java - war 文件没有爆炸的原因可能是什么?

java - Android 应用程序无法将数据插入 MySQL DB

SQL Server : Invalid Column Name

JSON 对象到 Postgres 存储过程参数