嘿,我正在尝试找到一种方法来运行它。我正在使用Oracle 10g数据库,在其中有一个存储在表中的BLOB。我希望能够读取并将BLOB传递给我Java代码中的Java方法。我通过loadjava将我的Java类加载到数据库中。我也设置了存储BLOB的表。
这是我的Java类和我想要传递BLOB的方法:
import java.lang.*;
import java.sql.*;
import oracle.sql.*;
public class Test
{
public static void getWidth(BLOB myBlob) throws Exception
{
System.out.println(myblob.length());
}
};
这是我的Java存储过程(包装器)在PL/SQL中的实现
CREATE OR REPLACE PROCEDURE testmethod (p_blob IN BLOB)
AS LANGUAGE JAVA
NAME 'Test.getWidth(oracle.sql.BLOB)';
它会将Java类加载到数据库中,我的封装器也会被编译并存储。
当我想要运行execute testmethod(testphoto.jpg);
时,它会给出错误:'testphoto.jpg必须声明'
有什么建议可以让这个程序运行起来吗?感谢您的时间。
这是我的PL/SQL过程testmethod的代码块:
DECLARE
P_FILE VARCHAR2(200);
P_BLOB BLOB;
BEGIN
P_FILE := NULL;
P_BLOB := NULL;
TESTMETHOD(
P_FILE => P_FILE,
P_BLOB => P_BLOB
);
END;
('测试数据')
中放什么? - daniel